我想打开文件作为输出。
事实证明"退出"
但是,我想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:无效的连续字节
答案 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")