繁体   English   中英

Python:Unicode字符串和转义序列

[英]Python: Unicode string and Escape sequences

可以说我有一个文本文件,其中包含带有双反斜杠的行。 例如,

...
3\\/4
...

当我在Python中打开此文件并尝试处理这些行时,出现以下问题:

f = open("example.txt")
for line in f:
    print(line)

#prints "3\/4" instead of "3\\/4"!!

因此,我想将unicode转换为Python字符串时,双反斜杠会转义为单反斜杠...如何防止这种情况?

我知道在创建字符串时,可以执行以下操作:

x = r"3\\/4"

但是我不确定如何为字符串变量 (在这种情况下为“行”)执行此操作?

谢谢

您还可以通过添加r来使用Python的原始字符串表示法。

>>> uni = ur"a\\/b"
>>> print(uni)
a\\/b

如果文件包含该内容,则将进行打印。 没有问题。

c:\>type x.txt
3\\/4
c:\>py
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:57:17) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> with open('x.txt') as f:
...  for line in f:
...   print(line)
...
3\\/4

使用print(repr(line))代替print(line) 希望这可以帮助:

>>> a='\\anc'
>>> print(a)
\anc
>>> print(repr(a))
'\\anc'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM