首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中将UTF-8列表转换为字符串

如何在python中将UTF-8列表转换为字符串
EN

Stack Overflow用户
提问于 2019-05-07 15:40:58
回答 1查看 41关注 0票数 0

我需要将BeautifulSoup结果保存到.txt文件。我需要使用str()将结果转换为字符串,而不是工作,因为list是UTF-8:

代码语言:javascript
复制
# -*- coding: utf-8 -*-

page_content = soup(page.content, "lxml")

links = page_content.select('h3', class_="LC20lb")

for link in links:
    with open("results.txt", 'a') as file:
        file.write(str(link) + "\n")

并得到这个错误:

代码语言:javascript
复制
  File "C:\Users\omido\AppData\Local\Programs\Python\Python37-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 183-186: character maps to <undefined>
EN

回答 1

Stack Overflow用户

发布于 2019-05-07 15:42:43

如果您还想以UTF-8格式写入文件,则需要指定:

代码语言:javascript
复制
with open("results.txt", 'a', encoding='utf-8') as file:
    file.write(str(link) + "\n")

最好是只打开文件一次:

代码语言:javascript
复制
with open("results.txt", 'a', encoding='utf-8') as file:
    for link in links:
        file.write(str(link) + "\n")

(您也可以使用print(link, file=file)。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56017759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档