有没有办法在python中打开所有类型的文件(.txt,.doc,.ppt,.xlsx等)

时间:2017-04-24 13:14:46

标签: python nlp nltk

我可以通过此代码打开任何.txt文件

userinput1  = input ("Enter file name:")
myfile1 = open(userinput1).read()
print(myfile1)

但是当我打开任何pdf或ppt或xlsx文件时它会给出错误。任何人都可以帮我或告诉我在python中打开所有类型的文件(.txt,.doc,.ppt,.xlsx等)

输出:

输出:

Traceback (most recent call last):
  File "C:/Users/umer/Desktop/stack.py", line 33, in <module>
    myfile1 = open(userinput1).read()
  File "C:\Python34\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 370: character maps to <undefined>

1 个答案:

答案 0 :(得分:0)

对此没有通用的答案,因为每个文件都有自己的编码,所以对于读写,你需要知道要使用哪种编码。

您可以使用

import codecs
userinput1  = input ("Enter file name:")
myfile1 = codecs.open(userinput1, "r", "latin-1").read()
print(myfile1)

但是您仍然需要知道文件的编码并相应地进行更改(在此示例中为latin-1)。