Python は私を夢中にさせます。私は常に PATH で変数を使用するのに苦労しています。私のバージョンはPython 2.4.3
>>> import os
>>> a = "httpd"
>>> cmd = '/etc/init.d/+a restart'
>>> print cmd
/etc/init.d/+a restart
>>>
変数を使用できるようにする/etc/init.d/httpd
にはどうすればよいですか?cmd
os.system(cmd)
Python v > 2.7 の場合
cmd = '/etc/init.d/{} restart'.format(a)
また
cmd = '/etc/init.d/'+a+' restart'
しかし、おそらく使用を検討する必要がありますsubprocess
。
次のようなものが必要です:
cmd = '/etc/init.d/%s restart' % a
複数の置換を行う必要がある場合は、次のようにすることができます。
cmd = '/etc/init.d/%s %s' % ( 'httpd', 'restart' )
この形式で'%s'
は、プレースホルダーです。それぞれが、対応する演算子の右側'%s'
の項目に置き換えられます(これは、私が推測する文字列補間演算子です)。詳細については、リファレンスの文字列の書式設定セクションを参照してください。tuple
%
python2.6 から、.format
メソッドを使用して文字列をフォーマットする新しい方法がありますが、それはあまり役に立たないと思います。