我需要在命令行中调用一个将以批处理模式执行的程序。此程序接收一个扩展名为.jlink的文件,该文件包含程序jlink.exe将执行然后关闭的一系列命令。
我尝试以以下方式执行:
os.system('C:/SEGGER/JLink_V490d/JLink.exe -CommanderScript D:FilesCommandFile.jlink')
但是这个命令在正常模式下执行程序,不接受参数。
我如何调用作为命令行的执行,然后发送该命令,以便程序使用这些参数以批处理模式执行?
使用subprocess
:
subprocess.call(["C:SEGGERJLink_V490dJLink.exe",
"-CommanderScript", "D:FilesCommandFile.jlink"])
您也可以使用shell=True
直接在shell中执行命令(您试图使用os.system
执行的操作),但不建议这样做,因为这会带来安全隐患。
更多信息请点击此处:https://docs.python.org/2/library/subprocess.html