%(某物)是什么意思?

时间:2014-10-21 03:14:10

标签: python

我偶然在Github上找到了这段代码:

cmd_template = ' -T --some-arg1 --some-arg2 --arg3 %(split)s -o %(output)s %(input)s'

我知道%s的意思,但%(split)s(和其他人)是什么意思?

1 个答案:

答案 0 :(得分:6)

它是字符串格式的一种形式。这意味着从字典中获取带有键"split"的值,并使用%s(字符串)格式将其替换为该点上的字符串。例如,如果你写:

x = '%(foo)s' % {'foo': 'bar'}

x将等于字符串'bar'(试一试!)。

请注意,更常见的是使用%格式设置位置参数:

x = '%s %s' % ('bar', 'baz')

并且元组用于将此字符串格式化为'bar baz'


最后,这个答案不会完整而不说现在,看到用.format方法做同样的事情是很常见的:

x = '{foo}'.format(foo='bar')  # same as x = '%(foo)s' % {'foo': 'bar'}
x = '{} {}'.format('bar', 'baz')  # same as x = '%s %s' % ('bar', 'baz')

,或者

x = '{0} {1}'.format('bar', 'baz')

如果您坚持使用python2.6。 。