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

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

我需要在命令行中调用一个将以批处理模式执行的程序。该程序接收一个扩展名为 .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/

相关文章:

c# - 在运行时设置默认命令行选项值

python - 在 Flask/Python 中创建 Enum 常量

python - 类的 Defaultdict - 获取类中当前调用实例的索引/键

python - web.py 数据库选择访问

bash - 如何压缩和忽略 .gitignore 指定的所有文件

linux - 如何解析已使用不同区域设置格式化的日期

c - 如何使用c程序判断用户输入的命令是否存在于linux中

powershell - 在 Powershell 中处理字符串参数的 bool 值

python - 如何将 240*240*4 的 np 数组打印或转换为 240*240*1?

bash - 如何在bash命令行上输出文件列表