1

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)

4

2 回答 2

3

对于 python v > 2.7

cmd = '/etc/init.d/{} restart'.format(a)

或者

cmd = '/etc/init.d/'+a+' restart'

但是您可能应该考虑使用subprocess.

于 2013-03-11T20:21:30.327 回答
2

你需要类似的东西:

cmd = '/etc/init.d/%s restart' % a

如果您需要进行多次替换,您可以执行以下操作:

cmd = '/etc/init.d/%s %s' % ( 'httpd', 'restart' )

在这种形式中,'%s'是一个占位符。每个'%s'都被运算符tuple右侧对应项中的一个项目替换%(我想这是字符串插值运算符)。可以在参考的字符串格式部分找到更多详细信息

从 python2.6 开始,有一种使用该方法格式化字符串的新.format方法,但我想这对你没有多大帮助。

于 2013-03-11T20:22:38.100 回答