2014-09-24 34 views
1

你好我的同胞pythoners從蟒蛇調用命令行以批處理模式ARGS

我需要調用命令行程序,將在批處理模式下執行執行程序。該程序收到一個擴展名爲.jlink的文件,其中包含一系列JLink.exe程序將執行並關閉的命令。

我試圖通過以下方式來執行:

os.system('C:/SEGGER/JLink_V490d/JLink.exe -CommanderScript D:\Files\CommandFile.jlink') 

但是這個命令在正常模式下執行該程序,不接受的參數。

我該如何調用命令行的執行,然後發送該命令,以便程序以批處理模式執行這些參數。

謝謝!

+0

https://stackoverflow.com/questions/89228/calling-an-external-command-in-python?rq=1 https://stackoverflow.com/問題/ 14892355 /傳入參數到os系統 https://stackoverflow.com/questions/16820420/python-share-the-command-line-argument-to-os-system-call – 0xAli 2014-09-24 12:14:12

回答

1

使用subprocess

subprocess.call(["C:\SEGGER\JLink_V490d\JLink.exe", 
       "-CommanderScript", "D:\Files\CommandFile.jlink"]) 

您還可以使用shell=True只是直接在shell執行命令(你試圖用os.system做),但不建議這樣做,因爲這是一個安全隱患。

此處瞭解詳情: https://docs.python.org/2/library/subprocess.html