使用python创建中文文件夹
我现在遇到一个关于汉字的问题。 我使用beautifulsoup提取数据,并希望创建一个文件夹,使用提取数据的名称。 数据如下:使用python创建中文文件夹,python,beautifulsoup,Python,Beautifulsoup,我现在遇到一个关于汉字的问题。 我使用beautifulsoup提取数据,并希望创建一个文件夹,使用提取数据的名称。 数据如下: <A href="love">星座(1824)</A> 但在控制台中,它出现了: ÐÇ×ù(1824) OSError: [Errno 17] File exists: './vguagua_pic/\xc3\x90\xc3\x87\xc3\x97\xc3\xb9(1824)' 我在源代码的开头使用了“#”--编码:utf-8--”。 这
<A href="love">星座(1824)</A>
但在控制台中,它出现了:
ÐÇ×ù(1824)
OSError: [Errno 17] File exists: './vguagua_pic/\xc3\x90\xc3\x87\xc3\x97\xc3\xb9(1824)'
我在源代码的开头使用了“#”--编码:utf-8--”。
这一定是一些编码问题,任何人都可以提供一些关于python使用非英语工作的好材料吗
我想创建一个名为'星座(1824)'
我有:
当我发现一个名为“ÐÐù(1824)”的文件夹存在时,为什么它仍然会出现:
ÐÇ×ù(1824)
OSError: [Errno 17] File exists: './vguagua_pic/\xc3\x90\xc3\x87\xc3\x97\xc3\xb9(1824)'
thx您的问题很可能是您的主机无法显示汉字 我在Win7上尝试了此操作,代码如下:
# -*- coding: utf-8 -*-
import os
os.mkdir(u'星座(1824)')
dos控制台将汉字显示为两个框,但是,当将其粘贴到此处时,它们会正确显示:
2012-06-25 07:59 <DIR> 星座(1824)
2012-06-2507:59星座(1824)
它们也会在Windows资源管理器中正确显示。即使.py脚本是用UTF-8编写的,如果网页不是,解析的文本也可能不正确 该网页的编码实际上是GB-2312(或GB-18030),但BeautifulSoup错误地猜测该网页的编码为ISO-8859-1,并根据该错误假设,转换为UTF-8并导致mojibake。我们可以验证:
>>> b'\xc3\x90\xc3\x87\xc3\x97\xc3\xb9'.decode('utf8').encode('latin1').decode('gb2312')
'星座'
您可以将
from_encoding=“gb2312”
(在bs4中)或from encoding=“gb2312”
(在3.x中)添加到BeautifulSoup构造函数以强制进行编码,如.encode('latin1')。decode('gb2312')u'\u661f\u5ea7'为什么我的与你的不一样?在beautifulsoup文档中,表示“在文档本身中发现的编码:例如,在XML声明或(对于HTML文档)http等价元标记中。“,在我想工作的网页中,确实有一个类似“”的元标记,所以bs应该猜对编码,对吗?