我有一个生成Windows命令的小Python脚本:
def quoted(s):
return '"' + s + '"'
import os
path = 'C:\\Program Files\\SumatraPDF\\SumatraPDF.exe'
params = ' -page 5 '
arg = 'D:\\Dropbox\\Final Term\\Final Draft.pdf'
cmd = quoted(path) + params + quoted(arg)
print cmd
os.system(cmd)
Run Code Online (Sandbox Code Playgroud)
这不会在Sublime Text 2中运行(按Ctrl+ B):
"C:\Program Files\SumatraPDF\SumatraPDF.exe" -page 5 "D:\Dropbox\Final Term\Final Draft.pdf"
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
[Finished in 0.1s]
Run Code Online (Sandbox Code Playgroud)
但如果我手动复制并粘贴命令(由此脚本输出),则运行cmd.exe.
我如何使其工作?
python windows command-line-interface sublimetext sublimetext2
我有一个Windows控制台应用程序,返回一些文本.我想在Python脚本中阅读该文本.我尝试使用os.system读取它,但它无法正常工作.
import os
foo = os.system('test.exe')
Run Code Online (Sandbox Code Playgroud)
假设test.exe返回"bar",我希望变量foo设置为"bar".但是会发生什么,它在控制台上打印"bar",变量foo设置为0.
我需要做什么才能获得我想要的行为?
我想使用 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 路径中的命令中有两对双引号,我会得到一个错误......
python ×3
windows ×3
console ×1
exe ×1
os.system ×1
python-2.7 ×1
sublimetext ×1
sublimetext2 ×1