我的問題對於一些有經驗的Python程序員來說可能非常容易(我不是其中之一)。通過instance.cmd調用帶參數的函數()
我想用參數啓動服務器。
目前我做:
def startServer(host):
host.cmd('python server.py &')
有沒有辦法將參數傳遞到server.py?
我的問題對於一些有經驗的Python程序員來說可能非常容易(我不是其中之一)。通過instance.cmd調用帶參數的函數()
我想用參數啓動服務器。
目前我做:
def startServer(host):
host.cmd('python server.py &')
有沒有辦法將參數傳遞到server.py?
爲了從命令行運行python run server.py
,我們可以使用subprocess
模塊。文檔可以在這裏找到:https://docs.python.org/2/library/subprocess.html。
import subprocess
def startServer(host, argument):
subprocess.call(['python', 'server.py', argument])
當調用startServer
功能與一些參數(比如an_argument_to_server
),它會在命令行中運行python server.py an_argument_to_server
。我們不需要&
字符,因爲subprocess
會自動在後臺運行。 subprocess
模塊也適用於python 3.x
我很確定OP使用的是ssh庫......其中host是一個ssh實例,它的目標是一個遠程shell +1,但是如果你要使用子進程,你應該像' [「cmd」,「arg1」,「arg2」]'你真的不需要'&',因爲它可以自動並行運行,子進程 –
這些都是很好的補充。我會添加到答案。 – SNygard
你想使用哪些參數?另外,'host'將會是什麼? –
什麼是'主機'? –
主機是「Mininet」中的一個節點,它是一個虛擬網絡......也許cmd是該類的一個參數。我認爲它可能會在python – Michael