0

例を試してみたところsubprocess.getstatusoutput('ls /bin/ls')、結果は「(1, "'{'は内部コマンドまたは外部コマンドとして認識されません。\n操作可能なプログラムまたはバッチ ファイルです。subprocess.getstatusoutput」ここに問題がありますか?どうすれば修正できますか?

4

1 に答える 1

1

Ubuntuで再現できません。これは機能します。

#!/usr/bin/env python3
import subprocess

print(subprocess.getstatusoutput("ls /bin/ls"))

# is similar to 
print(subprocess.check_output("{ ls /bin/ls ; } 2>&1", shell=True))

# you could try this
print(subprocess.check_output(["ls", "/bin/ls"]))

出力

(0, '/bin/ls')
b'/bin/ls\n'
b'/bin/ls\n'

を参照してくださいsubprocess.check_output()

のドキュメントにsubprocess.getstatusoutput()は、Unixでのみ利用可能であるため、Windowsでは機能しない可能性があると記載されています。

于 2012-12-28T08:30:02.037 に答える