python os.getcwd()返回空字符串

时间:2018-01-02 20:56:10

标签: python python-2.7 shell

我在目录上有一个shell

bash-4.1$ pwd
/x/dev/local_base

但是当我运行python脚本时

cur_dir = os.getcwd()
print "cur dir %s" % cur_dir

并返回一个空字符串

我已经尝试了

p = subprocess.Popen("/bin/pwd", stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
out, err = p.communicate()

并且它也返回空

但shell上的pwd显示当前目录(/ x / dev / local_base)

这只发生在我离开外壳很长时间(几个小时)时。如果我回到目录,它工作正常。

我认为目录正在关闭并在后台重新创建。

关于如何获得当前工作目录的任何建议?

PS这些工作正常

p = subprocess.Popen("ls", stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
out, err = p.communicate()

os.listdir('.')

当我在os.path.abspath返回的其中一个文件上尝试listdir时,它只显示相对路径,即如果listdir返回文件名README,则返回README,不是/x/dev/local_base/README

0 个答案:

没有答案