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

时间:2018-05-20 09:04:24

标签: python

我想打开文件作为输出。

  

事实证明"退出"

但是,我想read文件或write文件。通过测试,似乎没有 IOError。怎么打开文件?

我尝试了几个代码但仍无法找到打开它的方法。

try:
    my_file_handle=open("/Users/name/Desktop/Trip.docx")
except IOError:
    print("File not found or path is incorrect")
finally:
    print("exit")

然后,我改变了#34; docx" to" 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")
  结果发现"退出"和my_file_handle.read()

     
    

文件" /usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/codecs.py" ;,第321行,解码         (结果,消耗)= self._buffer_decode(data,self.errors,final)

         

UnicodeDecodeError:' utf-8'编解码器不能将字节0xd0解码到位     0:无效的连续字节

  

2 个答案:

答案 0 :(得分:2)

您是否测试过该文件在块结尾处是否实际打开?因为我认为你会发现它。最后的代码'尝试的一部分:除了:无论是否存在异常,都遵守阻止。

来自python文档:

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

答案 1 :(得分:0)

打开文件时,您必须指定内涵。 写作将是:

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