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

36 投票
6 回答
21326 浏览
提问于 2025-04-16 01:02

我有一个程序,它在某个时候会调用 os.getcwd() 这个函数。但是有时候,根据程序在到达这一行之前走过的路径,它会崩溃,并显示“OSError: [Errno 2] 没有这样的文件或目录”的错误信息。
我搞不清楚在调用 os.getcwd() 时我可能做错了什么。这个函数没有参数,而且应该总是有一个当前工作目录,对吧?

6 个回答

3

如果你看到这个错误,那是因为你现在所在的文件夹已经不存在了(可能被删除了)。

10

如果你看到那个错误,可能是因为你当前的工作目录被删除了。正在某个特定目录下运行的程序不会自动察觉这个目录被删掉了;对程序来说,当前工作目录只是一个字符串,至少在你执行像 os.getcwd() 这样的操作,真正去访问文件系统中的路径之前,程序并不会知道目录的真实状态。所以,有可能你当前的目录其实是不存在的。

不过,我无法确定这是否就是你遇到的问题,因为我对你的程序和它的运行环境了解得不够多。

58

当前的文件夹可能已经被其他程序删除了。

撰写回答