2017-01-20 3 views
2

Я пытаюсь найти способ отключить эту регистрацию ошибок в моем коде python. Кажется, что программа действительно работает нормально, функция поиска просто возвращает целую загрузочную информацию об объектах json с десятками атрибутов каждый раз, когда он находит символ, который он не может напечатать, и распечатает тысячи объектов json, возвращенных на консоль.UnicodeEncodeError в Python 3.6

Я завернул виновный код (внизу) в блок try, но ничего не изменил.

try: 
    results = api.search(query) 
    print('Station hits: ', len(results['station_hits']), '\nSong hits: ', len(results['song_hits']), '\nArtist hits: ', len(results['artist_hits']), '\nAlbum hits: ', len(results['album_hits'])).encode('ascii', 'ignore') 
except UnicodeEncodeError: 
    pass 

Вот ошибка, которая печатается на консоли. (Без buttload текста ссылочного ранее)

--- Logging error --- 
Traceback (most recent call last): 
    File "C:\Users\670854\AppData\Local\Programs\Python\Python36-32\lib\logging\__init__.py", line 989, in emit 
    stream.write(msg) 
    File "C:\Users\670854\AppData\Local\Programs\Python\Python36-32\lib\encodings\cp1252.py", line 19, in encode 
    return codecs.charmap_encode(input,self.errors,encoding_table)[0] 
UnicodeEncodeError: 'charmap' codec can't encode character '\u2117' in position 108194: character maps to <undefined> 
Call stack: 
    File "gpm.py", line 247, in <module> 
    main() 
    File "gpm.py", line 181, in main 
    results = api.search(query) 
    File "C:\Users\670854\AppData\Local\Programs\Python\Python36-32\lib\site-packages\gmusicapi\clients\mobileclient.py", line 1806, in search 
    res = self._make_call(mobileclient.Search, query, max_results) 
    File "C:\Users\670854\AppData\Local\Programs\Python\Python36-32\lib\site-packages\gmusicapi\clients\shared.py", line 84, in _make_call 
    return protocol.perform(self.session, self.validate, *args, **kwargs) 
    File "C:\Users\670854\AppData\Local\Programs\Python\Python36-32\lib\site-packages\gmusicapi\protocol\shared.py", line 243, in perform 
    log.debug(cls.filter_response(parsed_response)) 
+0

может быть связано с: [Почему Python не распознает мой исходный файл, закодированный utf-8?] (Http://stackoverflow.com/questions/14284269/why-doesnt-python-recognize-my-utf-8 -encoded-source-file), и многие другие, в том числе [UnicodeEncodeError: кодек charmap не могут кодировать символы символов в , функция печати] (http://stackoverflow.com/questions/14630288/unicodeencodeerror-charmap- codec-cant-encode-character-maps-to-undefined) – davedwards

ответ

-1

Трейс-назад и т.д. показывает: не может кодировать U "\ u2117", используя CP1252, не удивительно, использовать utf8 вместо этого.

+1

Спасибо, но как именно я могу это сделать? Это проблема с использованием терминала im для запуска файла или чего-либо с самим файлом? –

 Смежные вопросы

  • Нет связанных вопросов^_^