python文档here,提及在调用file.write()
期间无法引发的异常。
这是否意味着该功能不会引发任何异常?例如,在没有磁盘空间的情况下,file.write()
的行为是什么?
答案 0 :(得分:4)
在top of the section on file
objects:
当文件操作因I / O相关原因而失败时,会引发异常IOError。这包括由于某种原因未定义操作的情况,例如tty设备上的
seek()
或写入为阅读而打开的文件。
它没有提到每个方法的异常的原因是,由于IO相关原因导致的每个IOError
方法错误都是相同的异常(file
)。
您可以根据错误编号找出IOError的类型,可以按如下方式提取:
try:
f = open("nosuchfile.txt")
except IOError as e:
print e.errno
这些错误号来自操作系统,而不是来自Python。在上述情况下,它会打印2
,因为No such file or directory
是错误2. No space left on device
通常是错误28,但它可能与操作系统有关。