Jim*_*m K 7 python unicode python-2.x python-3.x
显然ur"",Python 3中的语法已被禁用.但是,我需要它! "为什么?" 你可能会问.好吧,我需要u前缀,因为它是一个unicode字符串,我的代码需要在Python 2上工作.至于r前缀,也许它不是必需的,但我正在使用的标记格式需要大量的反斜杠,这将有助于避免错误.
这是一个在Python 2中执行我想要的但在Python 3中是非法的示例:
tamil_letter_ma = u"\u0bae"
marked_text = ur"\a%s\bthe Tamil\cletter\dMa\e" % tamil_letter_ma
Run Code Online (Sandbox Code Playgroud)
遇到这个问题后,我找到了http://bugs.python.org/issue15096并注意到这个引用:
很容易克服这个限制.
有人会关心如何提出一个想法吗?
fal*_*tru 10
为什么不使用原始字符串文字(r'....'),您不需要指定,u因为在Python 3中,字符串是unicode字符串.
>>> tamil_letter_ma = "\u0bae"
>>> marked_text = r"\a%s\bthe Tamil\cletter\dMa\e" % tamil_letter_ma
>>> marked_text
'\\a?\\bthe Tamil\\cletter\\dMa\\e'
Run Code Online (Sandbox Code Playgroud)
为了使它在Python 2.x中工作,在源代码的最开头添加以下Future import语句,以便源代码中的字符串文字成为unicode.
from __future__ import unicode_literals
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2668 次 |
| 最近记录: |