Python3 执行终端的方式与手动输入不同



我有一小段python3代码。从终端运行命令。

import os
os.system('"C:/directory/program.exe" -k "C:/directory/options.txt" & pause')

当我在 IDLE 中运行此代码时,出现以下错误:

The filename, directory name, or volume label syntax is incorrect.

两条路径均有效。所以这不是问题所在。此外,跑步:

"C:/directory/program.exe" -k "C:/directory/options.txt" & pause

从终端工作正常。

你不需要在系统路径周围用引号引起来,这应该可以工作:

import os
os.system("C:/directory/program.exe -k C:/directory/options.txt & pause")

希望这有所帮助。

[编辑]据我所知,像使用os.system这样的空间是不可能的,参考这个 python 错误跟踪器线程

解决方案可能是使用欧洲工商管理学院的子流程模块。

import subprocess
subprocess.call(["C:/direc tory/program.exe", "-k", "C:/direc tory/program.exe"])

最新更新