(Python)无法从目录中打开文件

(Python)无法从目录中打开文件,python,Python,我想将文件作为输出打开 结果是“退出” 但是,我想读取文件或写入文件。通过测试,似乎没有 IOError。如何打开文件 我试了好几个密码,但仍然找不到打开它的方法 try: my_file_handle=open("/Users/name/Desktop/Trip.docx") except IOError: print("File not found or path is incorrect") finally: print("exit") 然后,我将“docx”改为

我想将文件作为输出打开

结果是“退出”

但是,我想
读取
文件或
写入
文件。通过测试,似乎没有
IOError
。如何打开文件

我试了好几个密码,但仍然找不到打开它的方法

try:
    my_file_handle=open("/Users/name/Desktop/Trip.docx")
except IOError:
    print("File not found or path is incorrect")
finally:
    print("exit")
然后,我将“docx”改为“doc”,添加“r”模式并调用它

我试过:

    try:
        my_file_handle=open('/Users/name/Desktop/Trip.doc','r')
        my_file_handle.read()
        print("hi")
    except IOError:
        print("File not found or path is incorrect")
    finally:
        print("exit")
结果是“退出”和我的文件句柄

文件“/usr/local/ceral/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/codecs.py”,第321行,解码 (结果,消耗)=自身缓冲区解码(数据,自身错误,最终)

UnicodeDecodeError:“utf-8”编解码器无法解码位置中的字节0xd0 0:无效的连续字节


您是否测试了文件是否在块的末尾实际打开?因为我想你会发现是的。无论是否存在异常,try:except:块的“finally”部分中的代码都将得到遵守

从python文档中:


如果finally存在,它将指定一个“cleanup”处理程序。执行try子句,包括任何except和else子句。如果任何子句中发生异常且未处理,则会临时保存该异常。finally子句被执行。如果存在保存的异常,将在finally子句末尾重新引发该异常。如果finally子句引发另一个异常,则保存的异常将设置为新异常的上下文。如果finally子句执行return或break语句,保存的异常将被丢弃:

打开文件时,您必须指定您的意图。 就写作而言,这将是:

    my_file_handle=open("/Users/name/Desktop/Trip.docx","w")

你的错误信息是什么?我相信当打开一个文件时,你需要指定你是否正在读、写等。我想读它。你打算对打开的文件做什么
docx
文件是zip文件,因此您应该以二进制模式打开它们(
mode='rb'
)。您还可以使用打开它们并访问存档文件。我尝试了“rb”。它无法工作。请再说一次,一旦打开文件,您想对其执行什么操作?也许像这样的库会更有用。不,它仍然无法打开文件。奇怪——而且没有回溯?或者其他异常的迹象?事实上,你能帮我试试吗?“打开(/Users/name/Dexktop/Trip.docx)”作为f:r=f.read(20)'尖括号内的操作在哪里,看看r是否包含任何Ewards后的内容?'从我对上面@Caligry的回复中,您可以尝试为'rb'的开头指定第二个参数吗?b代表二进制。..docx文件实际上是sipped.doc文件。请尝试f-->我不知道我的密钥是否有误。它显示了无效语法。不,您不知道但如果你不这么做,r是隐含的。事实上,这给了我一个想法…这是因为.docx文件是二进制的吗?我尝试了另一个-->.pages。它仍然无法工作。