我用於運行使用下面的命令稱爲VINA通過CMD線程序:如何將cmd行轉換爲os.system行?
"\Program Files (x86)\The Scripps Research Institute\Vina\vina.exe" --config conf.txt --log log.txt
所以,程序都將配置文件來運行,並輸出與所述結果的日誌文件。我正在使用os.system模塊在python中運行程序。但是,我無法像在cmd中那樣分配配置文件或日誌文件。我想在python是這樣的:
os.system('C:/Program Files (x86)/The Scripps Research Institute/Vina/vina.exe' --config conf.txt --log log.txt)
程序打開真正的快然後關閉,也許是因爲它不運行的配置文件。我也嘗試把配置放到一個字符串中,如下所示(我正在省略日誌的東西,直到我的配置才起作用):
os.system('C:/ Program Files(x86)/ The Scripps Research Institute /Vina/vina.exe」,‘--config conf.txt’)
在這種情況下,我得到的錯誤:
TypeError: system() takes at most 1 argument (2 given)
如何指定配置文件和日誌文件輸出任何想法在蟒蛇行,因爲我在cmd做?
如何使用os.path並提取路徑和然後將其轉換爲字符串以與OS一起使用。系統 – dhishan
嘗試'subprocess.call(['C:/ Program Files(x86)/ Scripps Research Institute/Vina/vina.exe','--config',os.path.normpath('C:/ absolute/path /to/conf.txt'),'--log','log.txt'])'。這可能會嘗試在工作目錄中創建日誌文件,這可能是錯誤的。在這種情況下,傳遞日誌文件的絕對路徑,通過'tempfile'模塊在適當的地方創建它,例如用戶的'%TEMP%'目錄。 – eryksun