Python - 执行带有文件输出参数的程序
Python - Execute program with parameters with file output
我正在尝试使用 Python 到 运行 带有参数的可执行文件 (Windows 7)。我已经能够制作程序 运行,但是我可以使用的参数数量将证明 Python 脚本使用参数是有限的。最好的格式如下:
-调试输出debug.txt
我已经使用带有编辑目标的 windows 快捷方式对此进行了测试并且它有效,它在程序目录中创建了调试输出。
这是我使用的代码:
import subprocess
args = [r"C:\Users\MyName\LevelEditor\LevelEditor.exe", "-debugoutput debug.txt"]
subprocess.call(args)
这会 运行 程序,但不会创建调试输出。我试过在参数前面放一个 "r" 但这没有什么区别。我认为这是一个简单的格式错误,但我找不到任何可以从中学习的正在做同样事情的例子。
更新:
谢谢大家的回答,都一样,确实是简单的格式错误。
据我所知,您需要按 space 拆分参数,因此您的参数看起来像:
args = [r"C:\Users\MyName\LevelEditor\LevelEditor.exe", "-debugoutput", "debug.txt"]
这样行吗?
我不知道它是否有效,但是
import subprocess
args = [r"C:\Users\MyName\LevelEditor\LevelEditor.exe", "-debugoutput", "debug.txt"]
subprocess.run(args)
关注 docs
代码内定义导致调用 shell 命令行:
C:\Users\MyName\LevelEditor\LevelEditor.exe "-debugoutput debug.txt"
如您所见,通过将 -debugoutput debug.txt
合并到单个列表元素,您明确声明不应将它们之间的 space 解析为命令行参数分隔符。
为了实现预期的行为,将文件名字符串作为单独的元素添加到参数列表中。
[r"C:\Users\MyName\LevelEditor\LevelEditor.exe", "-debugoutput", "debug.txt"]
我正在尝试使用 Python 到 运行 带有参数的可执行文件 (Windows 7)。我已经能够制作程序 运行,但是我可以使用的参数数量将证明 Python 脚本使用参数是有限的。最好的格式如下:
-调试输出debug.txt
我已经使用带有编辑目标的 windows 快捷方式对此进行了测试并且它有效,它在程序目录中创建了调试输出。
这是我使用的代码:
import subprocess
args = [r"C:\Users\MyName\LevelEditor\LevelEditor.exe", "-debugoutput debug.txt"]
subprocess.call(args)
这会 运行 程序,但不会创建调试输出。我试过在参数前面放一个 "r" 但这没有什么区别。我认为这是一个简单的格式错误,但我找不到任何可以从中学习的正在做同样事情的例子。
更新:
谢谢大家的回答,都一样,确实是简单的格式错误。
据我所知,您需要按 space 拆分参数,因此您的参数看起来像:
args = [r"C:\Users\MyName\LevelEditor\LevelEditor.exe", "-debugoutput", "debug.txt"]
这样行吗?
我不知道它是否有效,但是
import subprocess
args = [r"C:\Users\MyName\LevelEditor\LevelEditor.exe", "-debugoutput", "debug.txt"]
subprocess.run(args)
关注 docs
代码内定义导致调用 shell 命令行:
C:\Users\MyName\LevelEditor\LevelEditor.exe "-debugoutput debug.txt"
如您所见,通过将 -debugoutput debug.txt
合并到单个列表元素,您明确声明不应将它们之间的 space 解析为命令行参数分隔符。
为了实现预期的行为,将文件名字符串作为单独的元素添加到参数列表中。
[r"C:\Users\MyName\LevelEditor\LevelEditor.exe", "-debugoutput", "debug.txt"]