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,但只是以防万一……)我刚刚用过它:)