python string u“%(word)s”

时间:2011-02-14 02:44:52

标签: python string syntax

我是Python的新用户,在阅读代码时我不知道某些部分。所以我在这里问。

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

我知道%(word)用于替换后一种用法,例如cmd % {'word':'new word'},但我不理解为什么有一个尾随s。而且我不知道字符串开头的'u'意思。

4 个答案:

答案 0 :(得分:7)

开头u表示“Unicode”(即它是Unicode字符串)。每个格式化代码后的s表示将值解释为字符串,而不是d表示小数等。

有关所有详细信息,请参阅http://docs.python.org/library/stdtypes.html#string-formatting-operations上的文档。

答案 1 :(得分:3)

字符串开头的u表示它是一个unicode字符串。

尾随s意味着格式化的那部分应该是一个字符串。如果它是一个d它将是一个整数,如果它是一个f它将是一个浮点数

答案 2 :(得分:1)

  1. u表示它是一个unicode字符串。
  2. s代表字符串。

答案 3 :(得分:1)

s是转换说明符,意味着将其打印为字符串。

string formatting,第3点:

  

转换标志(可选),它会影响某些转换类型的结果。

前导u表示它是unicode个对象,而不是str

请参阅Unicode in Python, Completely Demystified,了解两者之间的差异。