我有下面的代码(改编自Dive Into Python给出的例子),它将文件的全部内容读入缓冲区。如何测试Python中的file.read()错误?
buffer = ""
try:
file = open(postFileName, 'rU')
try:
# Read the entire POST log file into a buffer
buffer += file.read()
finally:
file.close()
except IOError:
buffer += "The POST file could not be opened."
什么是这个代码困扰我是内部try/finally块没有一个except块。我需要一个除了在那里的块吗?拨打open()
成功后,可否致电read()
失败?我知道try-except-finally现在是统一的,因此至少在语法上加一个不是问题。
如果我添加一个except块,在什么条件下它会被执行,以及如何编写一个测试以确保它在这些条件下运行?
此外,如果我不需要一个除了块,那么为什么我需要内部try/finally块呢?
感谢您打击我的问题的每一部分。很有帮助。 – 2008-12-17 16:36:59