Ошибка скрипта Python во время обычного выполнения, но не во время отладки

У меня есть скрипт Python 2.7, который использует библиотеку xhtml2pdf для экспорта из.html в.pdf

Сценарий работает нормально, когда я запускаю его из IDLE или Visual Studio 2013. Однако, когда я пытаюсь выполнить его из окна DOS или из запланированного задания, я получаю сообщение об ошибке:

'ascii' codec can't decode byte 0xa0 in position 6: ordinal not in range(128)

Строка кода, которая выдает ошибку:

                import xhtml2pdf.pisa as pisa
                pdf = pisa.CreatePDF(
                    file( TargetFileDest + "\\" + target_file + ".html", "r"),
                    file( TargetFileDest + "\\" + target_file + ".pdf", "wb"),
                    log_warn = 1,
                    log_err = 1,
                    path = os.path.join(os.getcwd(),  TargetFileDest + "\\" + target_file + ".html")
                    )

Ошибка, кажется, является проблемой Unicode, но я не знаю, как отладить ее, если я не могу получить ошибку в режиме отладки. Мы ценим любые предложения.

1 ответ

Я видел это раньше. Происходит то, что IDLE и VS имеют разные наборы символов (я думаю, UTF-8), чем командная строка, которая использует ASCII.

попробуйте запустить chcp 65001 перед запуском программы python в командной строке, посмотрите, работает ли это.

Другие вопросы по тегам