+ -
当前位置:首页 → 问答吧 → 关于python的os.system的问题

关于python的os.system的问题

时间:2010-12-22

来源:互联网

用os.system执行命令行 
命令如下: >C:\Program Files\Calibre2\ebook-convert.exe E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html 
其中 
C:\Program Files\Calibre2\ebook-convert.exe 为可执行文件路径 
E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html 为参数 
  
情况1 
 
报错:C:\Program 不是内部命令 

情况2 
 
正确执行 

情况3 
 
正确执行 

情况4(诡异) 
[color=#ff0000][/color] 
这样的话,居然又 [b][color=#0000ff]报错: C:\Program 不是内部命令[/b][/color] 

情况5 
[color=#ff0000][/color] 
正确执行 
对于情况4,必须该路径为Progra~1才行 

[color=#000000]情况6[/color] 
直接在cmd中 执行"C:\Program Files\Calibre2\ebook-convert.exe" "E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html"没有问题 
也就说如果 执行程序路径加了引号,参数也加引号,第一个引号就等于没加...[s:78] 

现在情况5 虽然能用,但改成"Progra~1"也太不舒服了。 
如果用情况2的方法 如果后面的参数路径中也有 空格,那么就不行了。

作者: wq8848   发布时间: 2010-12-22

很难懂哦~~

作者: or5ange   发布时间: 2010-12-22

用os.system执行命令行 
命令如下: Python code
>C:\Program Files\Calibre2\ebook-convert.exe E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html 

其中 
C:\Program Files\Calibre2\ebook-convert.exe 为可执行文件路径 
E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html 为参数 
  
情况1 
Python code
os.system(C:\Program Files\Calibre2\ebook-convert.exe E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html) 

 
报错:C:\Program 不是内部命令 

情况2 
Python code
os.system("C:\Program Files\Calibre2\ebook-convert.exe" E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html) 

 
正确执行 

情况3 
Python code
os.system("C:\Program Files\Calibre2\ebook-convert.exe") 

 
正确执行 

情况4(诡异) 
Python code
os.system("C:\Program Files\Calibre2\ebook-convert.exe" "E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html") 

 
这样的话,居然又 报错: C:\Program 不是内部命令 

情况5 
Python code
os.system(C:\Progra~1\Calibre2\ebook-convert.exe "E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html") 

 
正确执行 
对于情况4,必须该路径为Progra~1才行 

情况6 
直接在cmd中 执行
Python code
>"C:\Program Files\Calibre2\ebook-convert.exe" "E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html"

没有问题 
也就说如果 执行程序路径加了引号,参数也加引号,第一个引号就等于没加... 

现在情况5 虽然能用,但改成"Progra~1"也太不舒服了。 
如果用情况2的方法 如果后面的参数路径中也有 空格,那么就不行了。

作者: wq8848   发布时间: 2010-12-22

解决问题
再加一对引号
os.system(""C:\Progra~1\Calibre2\ebook-convert.exe" "E:\KindleToolkit\kindlereader\kindlereader_modify\data\content.html"")
就OK

作者: wq8848   发布时间: 2010-12-22

楼上说的没错
要在外面再套一层引号

作者: xmnathan   发布时间: 2010-12-22