执行os.getcwd()时出错?
问题内容:
我遇到了一个很奇怪的问题。我进入一些测试以调试出了什么问题,当我尝试找到当前的工作目录时,出现以下错误:
ipdb> os.getcwd()
*** OSError: [Errno 2] No such file or directory
有什么问题,如何查看当前的工作目录?
问题答案:
您当前的工作目录 不再存在 :
$ 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'
但是,如果您在测试套件中遇到此问题,则说明该测试套件使用的是临时工作目录,此目录已被清理。