печать Unicode не выполняется в Python 3.8 - PullRequest
0 голосов
/ 04 августа 2020

Я бегаю python 3.8.5. Насколько я понимаю, Python начиная с версии 3.6 может печатать Unicode с помощью оператора print (). Я вызываю print () со следующей строкой (представленной отладчиком Eclipse):

Точный код:

import xml.etree.ElementTree as ET
def getArticles(self, filename):
    print("Parsing XML tree...")
    tree = ET.parse(filename)
    print("Done")
    articles = tree.getroot()
    for article in articles:
        for body in article.iter('body'):
            for title in article.iter('article-title'):
                print (title.text) #This is the line that causes the crash

«Некоторые олигомеры стирола обладают пролиферативной активностью на MCF-7 человеческие \ n опухолевые клетки груди и аффинность связывания с рецептором эстрогена человека \ nα. "

и получение сообщения об ошибке:

UnicodeEncodeError: 'charmap' code c не могу закодировать символ '\ u03b1' в позиции 139: символ отображается на

Я считаю, что это символ α вызывает ошибку sh. Точный текст тега XML, из которого извлекается эта строка:

Certain styrene oligomers have proliferative activity on MCF-7 human


breast tumor cells and binding affinity for human estrogen receptor


α.

Мне неприятно задавать вопрос, так тесно связанный с другими, которые задавались ранее, но я не мог найти ничего подходящего именно с этой проблемой. Есть идеи?

EDIT:

Проблема все еще не решена, но я определил, что &#x003b1 является шестнадцатеричным HTML5 представлением α. Поэтому я думаю, что проблема не в печати Unicode, а в представлении HTML5 шестнадцатеричных кодов.

Кроме того, python IDLE может обрабатывать такие инструкции, как:

print("α")

в то время как Eclipse , на котором я запускаю приведенный выше код, не может. Он даже не сохранит файл .py, если он содержит символ α. Я подтвердил изнутри скрипта, что использую Python 3.8.5 в Eclipse. Так что я чувствую, что проблема, вероятно, связана с IDE?

РЕШЕНИЕ: Проблема была в Eclipse. Я добавил следующую строку в конец eclipse.ini, и теперь она работает правильно:

-Dfile.encoding=UTF-8

1 Ответ

0 голосов
/ 04 августа 2020

РЕШЕНО: Проблема была с Eclipse. Я добавил следующую строку в конец eclipse.ini, и теперь она работает правильно:

-Dfile.encoding = UTF-8

...