Python:为什么os.getcwd()有时会因OSError崩溃?

时间:2010-07-09 08:10:38

标签: python

我有这个程序,一次访问os.getcwd(),但有时候,根据程序在到达该行之前的位置,它会崩溃并显示消息“OSError:[Errno 2]没有这样的文件或目录“。 我无法弄清楚我能做什么错,然后调用os.getcwd()。没有参数,应该总是有一个当前的工作目录,对吗?

5 个答案:

答案 0 :(得分:35)

当前目录可能已被其他进程删除。

答案 1 :(得分:8)

如果删除了当前工作目录,则可能会收到该错误。在特定目录中工作的程序不会自动注意目录是否被删除;就程序而言,CWD只是一个字符串,至少在您执行os.getcwd()之类的实际访问文件系统上的路径之前。因此,可以拥有一个不存在的当前目录。

在不了解您的程序及其执行环境的情况下,我无法告诉您这是否真的发生了。

答案 2 :(得分:3)

如果当前目录不再存在(已删除),您将收到该错误。

答案 3 :(得分:0)

在使用加密文件系统时,如果包含工作目录的分区返回到“锁定”状态,也可能会出现此错误。就我而言,在分区的安装点有一个README文件,说明了如何再次解锁该分区。它可能取决于加密系统和设置。

分区再次解锁后,要消除该错误,就需要一个更改目录来重置工作目录。即使目标目录是您已经在的目录。

答案 4 :(得分:0)

当您打开 Python 时,有人可能删除了您的文件系统。

这就是 Python 声明无法找到它的原因。这发生在我身上。

相关问题