我正在尝试使用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