誰かが私を例に導くことができるのか、linux(centos)でコマンドを実行するためのコードを手伝ってくれるのかなと思います。基本的に、私は基本的な新鮮なサーバーを持っていて、それを構成したいと仮定しています。私は実行する必要があるコマンドを列挙することができると思った、それは動作するだろうが、私はエラーを取得しています。エラーは、何もしない(泣いている時)と関係しています。Linuxでpythonを使ってシステムコマンドを実行していますか?
私はPythonがコードを送信して別のものを送信し、別のコマンドを送信して各コマンドが実行を終了するのを待っていると考えています(スクリプトが失敗した後、スリフトパッケージがダウンロードされ、正常に圧縮解除されます)。この作業を取得する方法について
#python command list to setup new server
import commands
commands_to_run = ['yum -y install pypy autocon automake libtool flex boost-devel gcc-c++ byacc svn openssl-devel make java-1.6.0-openjdk git wget', 'service mysqld start',
'wget http://www.quickprepaidcard.com/apache//thrift/0.8.0/thrift-0.8.0.tar.gz', 'tar zxvf thrift-0.8.0.tar.gz',
'cd thrift-0.8.0', './configure', 'make', 'make install' ]
for x in commands_to_run:
print commands.getstatusoutput(x)
任意の提案:
ここでは、コードですか?私のアプローチが完全に間違っていたら私に教えてください(私はbashスクリプトを使うことができますが、私はPythonのスキルを向上させようとしています)。
'os'ライブラリの' system() '関数を調べましたか? (http://docs.python.org/library/os.html#os.system) – yasouser
os.system関数は、Pythonでシステムコールを実行するための推奨手段ではありません。 @phihagは以下のように答えるので、代わりに[サブプロセスモジュール](http://docs.python.org/library/subprocess.html)をチェックしてください。 – michaelfilms