4

私はの出力を取得しようとしていますpwd:

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

パスの代わりに成功した終了ステータスである 0 を出力します。代わりにパスを取得するにはどうすればよいですか?

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

現在のディレクトリのフル パス:

import os
print os.getcwd()
于 2013-04-21T13:36:00.110 に答える
1

でそれを行うことはできませんがos.systemos.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 に答える