【问题标题】:open file with spaces in path打开路径中有空格的文件
【发布时间】:2018-10-04 11:06:10
【问题描述】:

我正在尝试使用 subprocess.call 函数打开路径中包含空格的文件,但无法正常工作。

import subprocess
subprocess.call(['cmd','/c','start C:/Users/akg/Desktop/file 1.png'])

我也试过了

import subprocess
file= '"C:/Users/akg/Desktop/file 1.png"'
subprocess.call(['cmd','/c','start '+file])

但我仍然收到此错误
第一种情况: ,第二个案例 甚至在有空格时拆分命令也不起作用

【问题讨论】:

标签: python python-2.7 subprocess


【解决方案1】:

你应该把每个参数作为一个单独的项目传递给subprocess.call

subprocess.call(['cmd','/c','start', 'C:/Users/akg/Desktop/file 1.png'])

【讨论】:

  • @PeterWood 是的。按建议更新。谢谢。
  • 另见list2cmdline
  • 当我拆分命令时,cmd 打开而不做任何事情。感谢回复
【解决方案2】:

对我有用的解决方案是删除此处所述的启动选项:Opening file with spaces in Windows via Command Prompt

import subprocess
subprocess.call(['cmd','/c',"C:/Users/akg/Desktop/file 1.png"])

subprocess.call(['cmd', '/c', 'start', "", "C:/Users/akg/Desktop/file 1.png"])

谢谢大家

【讨论】:

  • 稍作改动即可使用subprocess.call(['cmd', '/c', 'start', "", "C:/Users/akg/Desktop/file 1.png"])
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-30
  • 1970-01-01
  • 1970-01-01
  • 2012-05-09
  • 1970-01-01
相关资源
最近更新 更多