Python 脚本适用于 Spyder 和 CMD 但不适用于 Atom 或 Git Bash
Python script works in Spyder and CMD but not Atom or Git Bash
我有这个代码
import requests
import json
url = 'https://www.protocols.io/api/v3/protocols?filter=%20public%20&order_field=relevance&key=%20gel%22electrophoresis%20'
r = requests.get(url)
jason = r.json()
print (jason)
在 Spyder(3.7) 中有效,运行在 windows cmd 中有效,但在 Atom 或 git bash 中无效。我收到错误:
Traceback (most recent call last):
File "C:\Users\James\Documents\ProtocolScaper\test_3.py", line 13, in <module>
print(jason)
File "C:\Users\James\AppData\Local\Programs\Python\Python38-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 characters in position 5399-5400: character maps to <undefined>
对于我的应用程序,我真的需要它 运行 在 Atom 中
有任何想法吗?
这似乎是 cp1252 编码的一个 windows 特定问题。由
修复
jason.encode('cp1252, 'replace').decode('cp1252')
我有这个代码
import requests
import json
url = 'https://www.protocols.io/api/v3/protocols?filter=%20public%20&order_field=relevance&key=%20gel%22electrophoresis%20'
r = requests.get(url)
jason = r.json()
print (jason)
在 Spyder(3.7) 中有效,运行在 windows cmd 中有效,但在 Atom 或 git bash 中无效。我收到错误:
Traceback (most recent call last):
File "C:\Users\James\Documents\ProtocolScaper\test_3.py", line 13, in <module>
print(jason)
File "C:\Users\James\AppData\Local\Programs\Python\Python38-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 characters in position 5399-5400: character maps to <undefined>
对于我的应用程序,我真的需要它 运行 在 Atom 中 有任何想法吗?
这似乎是 cp1252 编码的一个 windows 特定问题。由
修复jason.encode('cp1252, 'replace').decode('cp1252')