我遇到了一个对我来说很奇怪的问题。我进行了一些测试以调试出现的问题,当我尝试查找当前工作目录时,出现以下错误:
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'
但是如果您在测试套件中遇到这种情况,那么该测试套件正在使用一个临时工作目录,该目录已被清理。
关于python - 执行 os.getcwd() 时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23889636/