Короче говоря, я пытаюсь использовать distutils.dir_util.copy_tree()
для копирования данных с ext3 fs на флэш-накопитель USB, отформатированный с использованием FAT32. Имена файлов, как правило, длинные и содержат интересные символы - которые Python прекрасно удаляет / удаляет для ext3. Однако после использования copy_tree()
список недопустимых символов внезапно увеличивается, когда он выбрасывается на флэш-накопитель FAT32, из-за чего питон не выходит и в результате получается:
IOError: [Errno 22] invalid mode ('wb') or filename: u'/media/usb0/data/someweirdfile.with.dots.etc?satellite=1'
Очевидно, что режим wb
в порядке, в результате ?
является недопустимым символом. Если не считать переписывания copy_tree()
(или экранирования имени файла), есть ли способ легко сказать python, что он работает с другим типом файловой системы?