2017-05-29 41 views
-2
import requests 
test = requests.get("https://www.hipstercode.com/") 
outfile = open("./settings.txt", "w") 
test.encoding = 'ISO-8859-1' 
outfile.write(str(test.text)) 

是我得到的错误是:找不到目录不知道为什么

File "C:/Users/Bamba/PycharmProjects/Requests/Requests/Requests.py", line 8, in <module> 
    outfile.write(str(test.text)) 
File "C:\Users\Bamba\AppData\Local\Programs\Python\Python35\lib\encodings\cp1255.py", line 19, in encode 
    return codecs.charmap_encode(input,self.errors,encoding_table)[0] 
UnicodeEncodeError: 'charmap' codec can't encode character '\xef' in position 0: character maps to <undefined> 
+0

试添加'encoding =“utf-8”'打开 – e4c5

回答

0

所以,看起来响应包含不便无法在CP1251编码。

如果UTF-8是对你合适,尽量

import requests 
test = requests.get("https://www.hipstercode.com/") 
outfile = open("./settings.txt", "wb") 
outfile.write(test.text.encode('ISO-8859-1')) 

如果您在编码得到错误,你根本无法编码无损。选择您在encode文档描述:https://docs.python.org/3/library/stdtypes.html#str.encode

也就是说,你可以

outfile.write(test.text.encode('ISO-8859-1', 'replace')) 

处理错误,而不会丢失文本的最有意义写在水木清华不符合ISO-8859-1

+0

关键是,我想用ISO-8859-1 – bamba

+0

我编辑了答案。如果你的编码表不能以简单的方式处理接收到的数据。所以你可以逃避忽略或取代它。这意味着你在大多数情况下都是有损的。 – Slam

+0

等一下,这是特定网站的东西? – bamba

相关问题