从目录中单独打印每个文件?

时间:2014-09-17 14:07:36

标签: python character-encoding io directory

我在.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符号,如何正确打印?

1 个答案:

答案 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标志打开文件时指定文件编码。