1

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

我尝试按以下方式执行:

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

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

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

4

1 回答 1

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

于 2014-09-24T12:17:32.250 回答