我是Python的新用户,在阅读代码时我不知道某些部分。所以我在这里问。
cmd = u"sudo umount %(mountpoint)s >>%(log)s 2>&1"
我知道%(word)
用于替换后一种用法,例如cmd % {'word':'new word'}
,但我不理解为什么有一个尾随s
。而且我不知道字符串开头的'u'意思。
答案 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)
u
表示它是一个unicode字符串。s
代表字符串。答案 3 :(得分:1)
s
是转换说明符,意味着将其打印为字符串。
见string formatting,第3点:
转换标志(可选),它会影响某些转换类型的结果。
前导u
表示它是unicode
个对象,而不是str
。
请参阅Unicode in Python, Completely Demystified,了解两者之间的差异。