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)
?
答案 0 :(得分:3)
对于python v> 2.7
cmd = '/etc/init.d/{} restart'.format(a)
或
cmd = '/etc/init.d/'+a+' restart'
但您应该考虑使用subprocess
。
答案 1 :(得分:2)
你需要这样的东西:
cmd = '/etc/init.d/%s restart' % a
如果您需要进行多次替换,可以执行以下操作:
cmd = '/etc/init.d/%s %s' % ( 'httpd', 'restart' )
在此表单中,'%s'
是占位符。每个'%s'
都会被tuple
运算符(我猜想的字符串插值运算符)右侧的相应%
中的项替换。更多详细信息可以在reference
从python2.6开始,有一种使用.format
方法格式化字符串的新方法,但我想这对你没什么帮助。