Python打开从pdf转换的txt文件

时间:2015-06-22 09:18:27

标签: python-3.x

我从http://icdept.cgaux.org/pdf_files/English-Italian-Glossary-Nautical-Terms.pdf下载了pdf文件并使用pdf2txt(从iTunes下载)将其转换为txt文件我试图将文件内容转换为可搜索的Python字典(我正在为意大利语学习)航海执照)。 我只是用来测试我是否可以将文本转换成我可以解析的格式:

with open('English-Italian-Glossary-Nautical-Terms1.txt', 'r') as out_file:
    with open("nautical_glossary.txt", 'w') as in_file:
        for line in out_file:
            in_file.write(line)

但经常出错:

    Traceback (most recent call last):
  File "/Users/admin/Desktop/untitled folder/nautical.py", line 4, in <module>
    for line in out_file:
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xfe in position 0: ordinal not in range(128)

我很感激帮助理解错误以及解决问题的建议。 我不确定是否有人可以建议一种明显的方法将这个特定文件解析为字典格式?

2 个答案:

答案 0 :(得分:0)

此错误告诉您文件的编码不是预期的。见wikipedia about it。换句话说,他不知道0xfe的意思。

您应找到该文件的正确编码并使用它打开。我怀疑它是utf-8,但我可能是错的。您是否尝试打开文件以查看它是什么?

答案 1 :(得分:0)

阅读this并试一试:

with open('English-Italian-Glossary-Nautical-Terms1.txt', 'r') as out_file:
    with open("nautical_glossary.txt", 'w') as in_file:
        for line in out_file.readlines():
            in_file.write(line)