2013-04-21 22 views
1

我試圖讓pwd輸出退出狀態:Python的 - 我試圖讓PWD的輸出,而是我得到

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

它打印0,這是成功的退出狀態,而不是路徑。 我怎樣才能獲得路徑呢?

+0

With'subprocess。 Popen'你可以在變量中存儲stdout/stderr。 – 2013-04-21 13:32:38

+0

我希望你明白,爲了這個特定的目的,你應該使用os.getcwd()。 – 2013-04-21 13:37:41

回答

7

運行系統命令是更好地subprocess完成,但如果您使用的os已經,爲什麼不只是做

pwd = os.getcwd() 

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

+0

也在MAC上! (也喜歡Unix - 但以防萬一...)我剛剛使用它:) – Kohn1001 2017-04-21 09:40:23

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) 
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' 
1

當前目錄完整路徑:

import os 
print os.getcwd() 
相關問題