Linux (Lubuntu) マシンで使用できるすべてのコマンドのリストを作成しようとしています。そのリストを Python でさらに操作したいと思います。通常、コンソールにコマンドを一覧表示するには、「compgen -c」と記述し、結果を stdout に出力します。
Python サブプロセス ライブラリを使用してそのコマンドを実行したいのですが、エラーが発生し、理由がわかりません。
コードは次のとおりです。
#!/usr/bin/python
import subprocess
#get list of available linux commands
l_commands = subprocess.Popen(['compgen', '-c'])
print l_commands
これが私が得ているエラーです:
Traceback (most recent call last):
File "commands.py", line 6, in <module>
l_commands = subprocess.Popen(['compgen', '-c'])
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
私は立ち往生しています。これで私を助けてくれませんか?サブプロセスを使用して compgen コマンドを実行するにはどうすればよいですか?