我需要在命令行中调用一个将以批处理模式执行的程序。该程序接收一个扩展名为 .jlink 的文件,其中包含程序 JLink.exe 将执行然后关闭的一系列命令。
我尝试按以下方式执行:
os.system('C:/SEGGER/JLink_V490d/JLink.exe -CommanderScript D:\Files\CommandFile.jlink')
但是该命令以正常模式执行程序,不接受参数。
如何调用命令行的执行,然后发送该命令,以便程序使用这些参数以批处理模式执行?
最佳答案
使用子进程
:
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
关于python - 从 python 调用命令行以使用 args 以批处理模式执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26016504/