我想運行使用python在另一個目錄的命令。
這種方法有哪些不同的使用方法,哪種方法效率最高?
我想要做的就是如下,
cd dir1
execute some commands
return
cd dir2
execute some commands
我想運行使用python在另一個目錄的命令。
這種方法有哪些不同的使用方法,哪種方法效率最高?
我想要做的就是如下,
cd dir1
execute some commands
return
cd dir2
execute some commands
os.system("/dir/to/executeble/COMMAND")
例如
os.system("/usr/bin/ping www.google.com")
如果ping程序位於 「在/ usr/bin中」
當然你需要導入os模塊。
使用os.system不等待任何輸出,如果你想輸出,你應該如果你想在所謂的shell命令更多的控制權(即接入使用
subprocess.call或類似的
有人告訴我,我們有subprocess.call,os.system ...哪一個是有用的? – mrutyunjay
取決於你需要什麼。如果您想在後面的shell中啓動某些內容,請使用os.system。使用subprocess.call或類似的東西,如果你想等待進程的結果.. subprocess.Popen,作品非常類似於在C中的popen – Gjordis
東西到標準輸入和/或標準輸出管道或異步啓動它),你可以使用subprocess
模塊:
import subprocess
p = subprocess.Popen('ls -al', shell=True, stdout=subprocess.PIPE)
stdout, stderr = p.communicate()
您可以使用Python Subprocess,它提供了許多模塊來執行命令,檢查輸出和接收錯誤信息等
當然,如果你只想在通過Python shell中運行一個(簡單的)命令,你這樣做通過os
模塊的system
功能。例如:
import os
os.system('touch myfile')
如果你想一些更復雜的是允許對命令的執行更好的控制,繼續使用subprocess
模塊,其他人在這裏建議。
欲瞭解更多信息,請參見以下鏈接:
請參閱http://stackoverflow.com/questions/89228/calling-an-external-command-在python中廣泛討論了這個話題。 –
你嘗試過什麼嗎?做任何研究? – Mike