0
Pythonスクリプトからいくつかの外部プログラムを呼び出し、スクリプト内でその出力を使用したい。今、私はこのスクリプトがローカルシステム上で実行されているが、別の言語を使用する別のシステムでは問題が発生することを発見しました。したがって、異なる言語の出力を調べる代わりに、これらのプログラムを最初の引数として指定した "LC_ALL = en_US.utf8"で呼び出す必要があります。へのコマンドであることをPythonスクリプトのサブプロセス.check_output()をLC_ALLで最初の引数として使用する
Traceback (most recent call last):
File "./serverwatch.py", line 22, in <module>
uptimedata = subprocess.check_output([lc, "/bin/uptime"])
File "/usr/lib/python2.7/subprocess.py", line 537, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
は私が(そのsubprocess.check_outputを理解して)最初の引数を望んでいる:私は、スクリプトを実行すると
lc = "LC_ALL=en_US.utf8"
uptimedata = subprocess.check_output([lc, "/bin/uptime"])
は、私が手:しかし、サブプロセスがこれを好きではないようです呼び出される。どうすれば変更したLCでコマンドを実行できますか?
これはDebian WheezyのPython 2.7.3です。他のシステムは同じバージョンを実行しています。