执行os.getcwd()时出错?

时间:2014-05-27 12:37:53

标签: python

我遇到了一个相当奇怪的问题。我进入了一些测试来调试出错的地方,当我尝试找到当前的工作目录时,我收到以下错误:

ipdb> os.getcwd()
*** OSError: [Errno 2] No such file or directory

问题是什么以及如何查看当前的工作目录?

1 个答案:

答案 0 :(得分:6)

您当前的工作目录不再存在

$ mkdir deleteme
$ cd deleteme/
$ ../bin/python
Python 2.7.6 (default, Apr 28 2014, 17:17:35) 
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.getcwd()
'/Users/mj/Development/venvs/stackoverflow-2.7/deleteme'
>>> ^Z
[1]+  Stopped                 ../bin/python
$ cd ..
$ rmdir deleteme
$ fg
../bin/python   (wd: ~/Development/venvs/stackoverflow-2.7/deleteme)

>>> os.getcwd()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file or directory

解决方法可能是使用os.chdir()将您的工作目录更改为存在的目录:

>>> os.chdir('/tmp')
>>> os.getcwd()
'/private/tmp'

但如果您在测试套件中遇到此问题,那么该测试套件使用的是一个临时工作目录,该目录已经过清理。