从python调用命令行以使用args以批处理模式执行程序

时间:2014-09-24 12:06:46

标签: python command-line command-line-arguments jlink

你好我的同伴pythoners

我需要在命令行中调用一个程序,该程序将以批处理模式执行。该程序接收扩展名为.jlink的文件,该文件包含程序JLink.exe将执行然后关闭的一系列命令。

我尝试按以下方式执行:

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

但是这个命令在正常模式下执行程序,不接受参数。

如何调用命令行执行,然后发送该命令,以便程序以批处理模式执行这些参数。

谢谢!

1 个答案:

答案 0 :(得分: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