distutils.dir_util.copy_tree()
つまり、ext3 fs から FAT32 を使用してフォーマットされた USB サムドライブにデータをコピーするために使用しようとしています。ファイル名は長くなる傾向があり、興味深い文字が含まれています。これは、Python が ext3 でうまくストリップ/エスケープします。ただし、を使用copy_tree()
すると、FAT32 サムドライブにスローされると不正な文字のリストが突然大きくなり、python はエスケープせず、次のようになります。
IOError: [Errno 22] invalid mode ('wb') or filename: u'/media/usb0/data/someweirdfile.with.dots.etc?satellite=1'
明らかにモードwb
は問題?
ないため、不正な文字になります。書き直すcopy_tree()
(またはファイル名をエスケープする)以外に、別のファイルシステムタイプで動作していることをPythonに簡単に伝える方法はありますか?