【发布时间】:2014-12-29 23:30:04
【问题描述】:
我有一个类似“Nena - Nur getraeumt (1982) HD 0815007.mp3”的文件名 - 我可以在目录中看到它,但是在 python 子进程中 - 我的代码说找不到文件。有没有办法绕过或编码字符串以使其可以找到文件?这是我的代码片段:
try:
p = subprocess.Popen(["avconv" , "-y" , "-i" , upload_music_file , "-acodec" , "pcm_s16le" , process_file], universal_newlines=True, stdout=subprocess.PIPE)
out, err = p.communicate()
retcode = p.wait()
except IOError:
pass
假设 upload_music_file 是“Nena - Nur getraeumt (1982) HD 0815007.mp3”并且 process_file 是“proccess_music.mp3”
我得到错误:
avconv 版本 0.8.12-6:0.8.12-1,版权所有 (c) 2000-2014 Libav 开发者 建于 2014 年 6 月 1 日 17:03:01,使用 gcc 4.7.2 /music/Nena - Nur getraeumt (1982) HD 0815007.mp3 : 没有这样的文件或目录
我唯一的线索是当尝试从 bash 获取文件时: -bash:意外标记 `('
附近的语法错误有没有办法处理 upload_music_file 字符串以便它可以工作?
【问题讨论】:
-
您必须引用文件名才能将其解释为 shell 中命令的字符串参数:ls "/music/Nena - Nur getraeumt (1982) HD 0815007.mp3"