我偶然在Github上找到了这段代码:
cmd_template = ' -T --some-arg1 --some-arg2 --arg3 %(split)s -o %(output)s %(input)s'
我知道%s
的意思,但%(split)s
(和其他人)是什么意思?
答案 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。 。