我正在尝试阅读一些法语文本并对单词进行频率分析。我希望留下与变音符号和其他变音符号的人物。所以,我这样做是为了测试:
>>> import codecs
>>> f = codecs.open('file','r','utf-8')
>>> for line in f:
... print line
...
Faites savoir à votre famille que vous êtes en sécurité.
到目前为止,这么好。但是,我有一个法语文件列表,我按以下方式迭代:
import codecs,sys,os
path = sys.argv[1]
for f in os.listdir(path):
french = codecs.open(os.path.join(path,f),'r','utf-8')
for line in french:
print line
这里出现以下错误:
rdholaki74: python TestingCodecs.py ../frenchResources | more
Traceback (most recent call last):
File "TestingCodecs.py", line 7, in <module>
print line
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe0' in position 14: ordinal not in range(128)
为什么同一个文件作为参数传递时会引发错误,而不是在代码中明确给出时?
感谢。