Ошибка скрипта 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 в командной строке, посмотрите, работает ли это.