10

我有以下代码

pathToFile = "R:\T2 Output\12345--01--Some File 1--ABCD.mp4"
process = subprocess.Popen(['ffprobe.exe', '-show_streams', '"'+pathToFile+'"'],
    shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

我得到错误:

[Error 2] The system cannot find the file specified

我试过的:

  • 将 shell=True 更改为 shell=False
  • 将命令组合成单个字符串而不是使用列表(我什至将其打印到屏幕上,我可以复制并粘贴到文件运行的命令提示符中并给出预期的输出(无错误)
  • 我确保 ffprobe.exe 位于 PATH 中,并且可以从命令行执行而无需指定目录

注意事项:

  • 该文件位于映射的网络驱动器 (R)
  • 该文件的文件名中有空格,这就是我用引号括起来的原因。

我确定我错过了一些简单的东西。谁能指出我正确的方向?我在这个网站和其他网站上做了很多搜索并尝试了建议。

4

1 回答 1

4

\符号在 python 中算作转义字符,用于r将其关闭:

pathToFile = r"R:\T2 Output\12345--01--Some File 1--ABCD.mp4"
于 2013-10-11T11:58:11.320 回答