我遇到了一个相当奇怪的问题。我进入了一些测试来调试出错的地方,当我尝试找到当前的工作目录时,我收到以下错误:
ipdb> os.getcwd()
*** OSError: [Errno 2] No such file or directory
问题是什么以及如何查看当前的工作目录?
答案 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'
但如果您在测试套件中遇到此问题,那么该测试套件使用的是一个临时工作目录,该目录已经过清理。