Python-I';i’我试图得到pwd的输出,取而代之的是退出状态

Python-I';i’我试图得到pwd的输出,取而代之的是退出状态,python,Python,我正在尝试获取pwd的输出: #!python import os pwd = os.system("pwd") print (pwd) 它打印0,这是成功退出状态,而不是路径。 如何获取路径?要获取当前工作目录,请使用。但一般来说,如果同时需要输出和返回代码: import subprocess PIPE = subprocess.PIPE proc = subprocess.Popen(['pwd'], stdout=PIPE, stderr=PIPE) out, err = proc.c

我正在尝试获取
pwd
的输出:

#!python
import os
pwd = os.system("pwd")
print (pwd)
它打印0,这是成功退出状态,而不是路径。
如何获取路径?

要获取当前工作目录,请使用。但一般来说,如果同时需要输出和返回代码:

import subprocess
PIPE = subprocess.PIPE
proc = subprocess.Popen(['pwd'], stdout=PIPE, stderr=PIPE)
out, err = proc.communicate()
errcode = proc.returncode
print(out)
print(errcode)

使用运行系统命令更好,但是如果您已经在使用操作系统,为什么不直接使用它呢

pwd = os.getcwd()

在Windows和Unix上可用。

您不能使用
os.system
,尽管
os.popen
会为您返回该值:

>>> import os
>>> os.popen('pwd').read()
'/c/Python27\n'
但是,
子流程
模块功能更强大,应改为使用:

>>> import subprocess
>>> p = subprocess.Popen('pwd', stdout=subprocess.PIPE)
>>> p.communicate()[0]
'/c/Python27\n'

当前目录完整路径:

import os
print os.getcwd()

使用
subprocess.Popen
可以将stdout/stderr存储在变量中。我希望您理解,出于特定目的,您应该在MAC上使用os.getcwd()!(也像Unix,但只是以防万一……)我刚刚用过它:)