1

此处的 python 文档没有提到在调用file.write().

这是否意味着该函数不会引发任何异常?file.write()例如,在没有磁盘空间的情况下会有什么行为?

4

1 回答 1

4

它记录在对象部分的顶部file

当文件操作因 I/O 相关原因而失败时,会引发异常IOError。这包括由于某种原因未定义操作的情况,例如seek()在 tty 设备上或写入打开以供读取的文件。

它没有提到每个方法的异常的原因是它对于由 IO 相关原因引起的IOError每个方法错误都是相同的异常 () 。file

可以根据错误号找出IOError的类型,可以提取如下:

try:
    f = open("nosuchfile.txt")
except IOError as e:
    print e.errno

这些错误编号来自操作系统,而不是 Python。在上述情况下,它会打印2No such file or directory错误 2.No space left on device通常是错误 28,尽管它可能取决于操作系统。

于 2013-02-28T05:08:48.607 回答