从python调用命令行以使用args以批处理模式执行程序[重复]
Posted
技术标签:
【中文标题】从python调用命令行以使用args以批处理模式执行程序[重复]【英文标题】:Call a command line from python to execute a program in batch mode with args [duplicate] 【发布时间】:2014-11-18 22:09:38 【问题描述】:我需要在命令行中调用一个将以批处理模式执行的程序。该程序接收到一个扩展名为 .jlink 的文件,其中包含 JLink.exe 程序将执行然后关闭的一系列命令。
我尝试通过以下方式执行:
os.system('C:/SEGGER/JLink_V490d/JLink.exe -CommanderScript D:\Files\CommandFile.jlink')
但是这个命令在正常模式下执行程序,不接受参数。
我怎样才能调用命令行的执行,然后发送该命令,以便程序使用这些参数以批处理模式执行?
【问题讨论】:
***.com/questions/89228/…***.com/questions/14892355/…***.com/questions/16820420/… 【参考方案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
【讨论】:
以上是关于从python调用命令行以使用args以批处理模式执行程序[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Python2.7 - 将参数传递给命令行以根据参数过滤CSV