python os.system 空格及中文路径_关于python:os.system,用于调用位于名称中包含空格的目录中的exe...

简单来说,我的代码如下:

file = 'C:\\Exe\\First Version\\filename.exe'

os.system(file)

运行此程序时,WindowsError被引发,找不到指定的文件。我发现问题在于"第一个版本"之间的空白。那么我能找到一个规避问题的方法吗?

PS:如果变量"file"将作为arg传递到另一个func,该怎么办?

如何从python执行程序的可能副本?由于路径中有空格,os.system失败

在路径上加引号是可行的:

file = 'C:\\Exe\\First Version\\filename.exe'

os.system('"' + file + '"')

但更好的解决方案是使用subprocess模块:

import subprocess

file = 'C:\\Exe\\First Version\\filename.exe'

subprocess.call([file])

谢谢,它起作用了。我知道子进程会更好,但我想从脚本内部调用的文件实际上不是.exe文件,但某些类型的文件以后缀结尾,如.qgi,而此类.qgi文件不能简单地由子进程调用,因为我尝试了,并引发了错误。

@突触——试着用p=subprocess.popen(file, shell=True),然后用p.wait()

@AGF——谢谢你&#x

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值