Я сталкиваюсь со следующей ошибкой при попытке выполнить отдельные операции для открытия файлов в другой программе, закрытия файлов в другой программе и выполнения системных операций, таких как копирование файла с именем файла на основе Unicode.Мой текущий код прекрасно работает на Macintosh, но не на Windows.Я только начал работать с именами файлов Unicode и CLI.
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0301' in position 5: ordinal not in range(128)
Упрощенный файл закрытия в другом примере приложения выглядит примерно так:
def CloseFile( fileToClose ):
cmd = [ 'sudo', fmsadmin, 'close', fileToClose, '-u', 'userName', '-p', 'accountName', '-y' ]
subprocess.check_output( cmd )
CloseFile( u'ÉürøFile.fmp12' )
Я пытался выполнить декодирование раньшенабор переменной cmd, но это не работает.
fileToClose = fileToClose.decode('utf-8')
Я могу дать вам пример CopyFile (), если хотите, но это с ошибкой задолго до вызова команды.Поэтому вам не нужно устанавливать FileMaker Server для воспроизведения проблемы.
Я использую shutil.copy (from, to) для метода копирования.