subprocess.call()
を使用してpythonスクリプトで$ mv <file> ..
を実行しようとしています。私はこれを通常のファイル名で行うことができますが、特定のファイル名では動作しません。私はスクリプトに与えられたファイル名の制御権を持っていません。次に例を示します。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のプロンプトに直接コマンドを実行し、そこにファイルをドラッグすると
Mファイル名が"ITunes ES Film Metadata_10_LaunchTitles(4th Batch)_08_20_2010.XLS"
で、これは私が得るものですこのファイルを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))
なぜ 'shutil.move'や' os.rename'の代わりに 'subprocess.call()'を使用していますか? – geoffspear
彼はおそらくそれについて知りませんでした...私は彼の質問の調子がこの無知に対処すると思います。誰もが「電池を含む」という言葉に慣れているわけではありません。 ;-) – mvanveen