http://docs.python.org/2/library/os.html
“注意如果文件名和路径无效或无法访问,或者其他参数类型正确但操作系统不接受,则此模块中的所有函数都会引发OSError。”
所以所有以os开头的函数。在他们面前,即(os.chown和os.listdir)只会引发OSError?
是否有任何情况会引发其他错误,例如IOError或诸如此类的错误?如果是这样,你能给我一些例子吗?
P.S。我问这个问题是因为网站列出了“一些”案例,但我不确定这些“某些”是否是唯一与os模块相关的案例。
答案 0 :(得分:3)
OSError只会被引用,“如果文件名和路径无效或无法访问,或者其他参数类型正确,但操作系统不接受。”
因此,例如,尝试os.chdir(42)
>>> os.chdir(42)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: must be string, not int
TypeError - 因为参数的类型不正确(...other arguments that have the correct type...
)
OSError表示操作系统
不接受参数所以答案是肯定的,os
会引发其他类型的错误。
答案 1 :(得分:2)
IOError
- 例如有人拔下USB驱动器
MemoryError
几乎可以弹出任何地方
答案 2 :(得分:0)
检查此链接a link,这里它给出了IOError,即使你不使用-with构造。
这些错误类型或异常表示调用失败原因的问题类型。因此,不同类型的异常是可行的。使用os模块方法。它们抛出异常来指示问题的类型。因此可能不仅仅是OSError。 / p>