2017-01-20 23 views
2

私はPythonコードでこのエラーログを無効にする方法を見つけようとしています。プログラムは実際に正常に動作しているようですが、検索機能はjsonオブジェクトの完全なbuttloadを返すだけで、数十の属性を持つ文字を見つけるたびに返されます。 をコンソールに返した数千のjsonオブジェクトを印刷します。Python 3.6のUnicodeEncodeError

私は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 (UnicodeEncodeError: 'charmap'コーデックはエンコードできません - 文字マップは、印刷機能にマップされています)(http://stackoverflow.com/questions/14630288/unicodeencodeerror-charmap-encoded-source-file) codec-cant-encode-character-maps-undefined) – davedwards

答えて

-1

トレースバックなどを明らかに:、驚くべきことではないCP1252を使用して「\ u2117の」、Uを符号化する代わりに、UTF8を使用することはできません。

+1

ありがとうございます。これは、ファイル自体を使ってファイルを実行するのにターミナルを使用する場合に問題になりますか? –