строка питона u "% (word) s" - PullRequest
       3

строка питона u "% (word) s"

3 голосов
/ 14 февраля 2011

Я новый пользователь Python, и я не знаю некоторых частей, когда читаю код. Поэтому я спросил здесь.

cmd = u"sudo umount %(mountpoint)s >>%(log)s 2>&1"

Я знаю, что %(word) используется для замены последнего слова, такого как cmd % {'word':'new word'}, но я не понимаю, почему есть трейлинг s и я не знаю значения 'u' в начале строки.

Ответы [ 4 ]

7 голосов
/ 14 февраля 2011

Начало u означает «Юникод» (то есть это строка Юникода).s после каждого кода форматирования означает интерпретацию значения в виде строки, в отличие от d для десятичного числа и т. Д.

См. Документацию в http://docs.python.org/library/stdtypes.html#string-formatting-operations для получения подробной информации.

3 голосов
/ 14 февраля 2011

Символ u в начале строки означает, что это строка в кодировке Unicode.

Трейлинг s означает, что эта часть форматирования должна быть строкой. Если бы это было a d, это было бы целое число, а если бы это было f, то это было бы float

1 голос
/ 14 февраля 2011

s - это спецификатор преобразования, то есть вывести его в виде строки.

См. форматирование строки , точка 3:

Флаги преобразования (необязательно), которые влияют на результат некоторых типов преобразования.

Ведущий u означает, что это unicode объект, а не str.

См. Unicode в Python, полностью демистифицированный для большого обзора различия между ними.

1 голос
/ 14 февраля 2011
  1. u означает, что это строка в кодировке Unicode.
  2. s обозначает строку.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...