2 python windows os.system python-2.7
我想使用 os.system 运行命令,但出现错误
c:/fe ' is not recognized as an internal or external command, operable program or batch file
Run Code Online (Sandbox Code Playgroud)
我使用的代码是
import os
os.system('"C:\\fe re\\python.exe" program "c:\\test now\\test.txt" http://site.to.explore')
Run Code Online (Sandbox Code Playgroud)
如果我只运行它会起作用:
import os
os.system('"C:\\fe re\\python.exe" program -h')
Run Code Online (Sandbox Code Playgroud)
或者,如果我在这样的 python 路径中没有空间
import os
os.system('C:\\fere\\python.exe program "c:\\test now\\test.txt" http://site.to.explore')
Run Code Online (Sandbox Code Playgroud)
但是如果我在 python 路径和 txt 路径中的命令中有两对双引号,我会得到一个错误......
os.system有一些严重的缺点,尤其是文件名中的空格和 wrt 安全性。我建议你查看subprocess模块,特别是subprocess.check_call,它更强大。然后你可以做例如
import subprocess
subprocess.check_call(["c:\\fe re\\python.exe", "program", etcetc...])
Run Code Online (Sandbox Code Playgroud)
当然,除非用户已经使用相同的权限从命令行运行脚本,否则请确保不要在这些调用中使用用户确定的变量。
| 归档时间: |
|
| 查看次数: |
6596 次 |
| 最近记录: |