Иногда в сценариях Python я вижу строки вроде:
cmd = "%s/%s_tb -cm cond+line+fsm -ucli -do \"%s\""
Где находится %s
в приведенной выше строке? У Python есть несколько строк строк, и они выталкивают их и заменяют %s
?
Иногда в сценариях Python я вижу строки вроде:
cmd = "%s/%s_tb -cm cond+line+fsm -ucli -do \"%s\""
Где находится %s
в приведенной выше строке? У Python есть несколько строк строк, и они выталкивают их и заменяют %s
?
Это будет позже использовано в чем-то вроде:
print cmd % ('foo','boo','bar')
То, что вы видите, это просто назначение строк с полями в нем, которые позже будут заполнены.
Основы форматирования строки python
Не конкретный ответ на вашу строку кода, но, поскольку вы сказали, что новичок в python, я думал, что буду использовать это в качестве примера, чтобы поделиться радостью;)
Простой пример Inline со списком:
>>> print '%s %s %s'%('python','is','fun')
python is fun
Простой пример с использованием словаря:
>>> print '%(language)s has %(number)03d quote types.' % \
... {"language": "Python", "number": 2}
Python has 002 quote types
Если вы сомневаетесь, проверьте официальные документы python - http://docs.python.org/library/stdtypes.html#string-formatting
Используется для интерполяции строк. %s
заменяется на строку. Вы используете оператор modulo (%
) для интерполяции строк. Строка будет с левой стороны, значения для замены %s
находятся справа, в кортеже.
>>> s = '%s and %s'
>>> s % ('cats', 'dogs' )
<<< 'cats and dogs'
Если у вас есть только один символ, вы можете отказаться от кортежа.
>>> s = '%s!!!'
>>> s % 'what'
<<< 'what!!!'
В более новых версиях python рекомендуется использовать метод format
для типа строки:
>>> '{0} {1}'.format('Hey', 'Hey')
<<< 'Hey Hey'