Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 执行os.getcwd()时出错?_Python - Fatal编程技术网

Python 执行os.getcwd()时出错?

Python 执行os.getcwd()时出错?,python,Python,我遇到了一个相当奇怪的问题。我进行了一些测试以调试出了什么问题,当我尝试查找当前工作目录时,出现以下错误: ipdb> os.getcwd() *** OSError: [Errno 2] No such file or directory 有什么问题?如何查看当前工作目录?您当前的工作目录已不存在: 但是如果您在测试套件中遇到这种情况,那么该测试套件使用的是一个临时工作目录,该目录已被清理。我认为这不是问题所在。请看相关问题。我试图了解为什么打开该文件会引发异常,因此我认为查看脚本运行

我遇到了一个相当奇怪的问题。我进行了一些测试以调试出了什么问题,当我尝试查找当前工作目录时,出现以下错误:

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

有什么问题?如何查看当前工作目录?

您当前的工作目录已不存在:


但是如果您在测试套件中遇到这种情况,那么该测试套件使用的是一个临时工作目录,该目录已被清理。

我认为这不是问题所在。请看相关问题。我试图了解为什么打开该文件会引发异常,因此我认为查看脚本运行的位置很重要(因为文件路径是作为相对路径给出的)。我不相信cwd被删除了,因为它应该是运行测试的目录(意思是包的目录)。@AndreiHorak:但它不是。
os.getcwd()
函数只不过是同名C调用的包装器,如果进程当前工作目录指向不存在的位置,它将返回一个错误。因为working dir只能设置到当时确实存在的位置,这意味着在您调用
os.getcwd()
时,它已经不存在了。好吧,那么您一定是对的。谢谢你给我指明了正确的方向。设法对我最初的问题做了一个小的修复,事情开始朝着正确的方向发展。干杯
$ 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('/tmp')
>>> os.getcwd()
'/private/tmp'