2
考慮下面的類:如何在Python中的__init __()部分定義一個子進程?
import subprocess
class Fruits():
def __init__(self):
self.TERMINAL_WIDTH = 80
def start(self):
p = subprocess.Popen(["mplayer", "other", "args"])
print "Subprocess started..."
此代碼的工作。
爲了更好地瞭解最佳編碼實踐,我使用Python的PEP 8 linter。該棉短絨抱怨行
p = subprocess.Popen(["mplayer", "other", "args"])
:棉短絨的說,是因爲我們定義一個變量(p
),它可能應該去的__init__()
方法來代替。
我想知道如何做到這一點,但。如果我以當前形式將該行轉移到__init__()
,則當Fruits()
被實例化時,子流程將開始運行,這不是我想要的。你能幫我嗎?
不知道爲什麼棉短絨會告訴你這一點,除非它被分配到'self'屬性,但'p'是本地這裏。在任何情況下都知道棉絨可能是錯的,在這一點上,你禁用了棉絨(對於那條線)。 –
你能告訴我們a)你正在使用什麼棉絨布和b)確切的錯誤信息(確保你最小的例子產生了這個錯誤信息)。 –