4

I'm trying to get the output of pwd:

#!python
import os
pwd = os.system("pwd")
print (pwd)

it prints 0 which is the successful exit status instead the path. How can i get the path instead?

4

4 回答 4

17

使用 运行系统命令更好subprocess,但如果您os已经在使用,为什么不直接使用

pwd = os.getcwd()

os.getcwd()在 Windows 和 Unix 上可用。

于 2013-04-21T13:34:23.757 回答
2

要获取当前工作目录,请使用os.getcwd()。但一般来说,如果你想要输出和返回码:

import subprocess
PIPE = subprocess.PIPE
proc = subprocess.Popen(['pwd'], stdout=PIPE, stderr=PIPE)
out, err = proc.communicate()
errcode = proc.returncode
print(out)
print(errcode)
于 2013-04-21T13:34:17.193 回答
1

你不能用 来做到这一点os.system,尽管os.popen确实会为你返回那个值:

>>> import os
>>> os.popen('pwd').read()
'/c/Python27\n'

但是,该subprocess模块功能更强大,应改为使用:

>>> import subprocess
>>> p = subprocess.Popen('pwd', stdout=subprocess.PIPE)
>>> p.communicate()[0]
'/c/Python27\n'
于 2013-04-21T13:34:54.367 回答
1

当前目录完整路径:

import os
print os.getcwd()
于 2013-04-21T13:36:00.110 回答