我在.txt文件中有一个充满意见的文件夹,我想阅读完整的文件夹并以一种格式打印每个rawtext.txt,让我逐一阅读。我怎么能接受这个任务?当我读完整个文件夹时:
import os
DIR = r"/Users/user/Desktop/OpinionsTXT"
opiniones = [open(os.path.join(DIR, f)).read() for f in os.listdir(DIR)]
print opiniones
这是输出字符串:
f qu\xe9 suplicio, recordando cuando lo hab\xeda tenido que hacer durante unas
文本中充满了重音和西班牙语ortographic符号,如何正确打印?
答案 0 :(得分:2)
文件使用什么编码?它看起来像ISO-8859-1。
例如,在Python 2中,您可以使用.decode('iso-8859-1')
,即
import os
DIR = r"/Users/user/Desktop/OpinionsTXT"
opiniones = [open(os.path.join(DIR, f)).read().decode('iso-8859-1') for f in os.listdir(DIR)]
>>> print opiniones[0] # note that opiniones is a list.
f qué suplicio, recordando cuando lo había tenido que hacer durante unas
或者您可以使用codecs模块打开文件:
opiniones = [codecs.open(os.path.join(DIR, f), mode='r', encoding='iso-8859-1').read() for f in os.listdir(DIR)]
以上是针对Python 2.对于Python 3,您可以在使用encoding
标志打开文件时指定文件编码。