我正在嘗試使用subprocess.call()
在Python腳本中執行$ mv <file> ..
。我可以在「普通」文件名上執行此操作,但在某些文件名上不起作用。我無法控制給腳本的文件名。這裏有一個例子:如何在python中使用複雜文件名移動文件
中號的文件名是"ITunes ES Film Metadata_10_LaunchTitles(4th Batch)_08_20_2010.XLS"
當我嘗試直接做命令到Python提示符並拖動文件到它,這就是我得到:
>>> /Users/David/Desktop/itunes_finalize/TheInventionOfLying_CSP/
ITunes\ ES\ Film\ Metadata_10_LaunchTitles\(4th\ Batch\)_08_20_2010.XLS
No such file or directory
如何我會在Python腳本中移動這個文件嗎?
更新:
感謝您的答案,這是我最後只是:
for file in glob.glob(os.path.join(dir, '*.[xX][lL][sS]')):
shutil.move(file, os.path.join(os.path.dirname(file), os.path.pardir))
爲什麼使用'subprocess.call()'而不是'shutil.move'或'os.rename'? – geoffspear 2012-02-10 00:37:10
他可能不知道這件事......我認爲他的問題的基調解決了這種無知。並非所有人都習慣於使用「包含電池」的語言。 ;-) – mvanveen 2012-02-10 00:43:27