假设我有一个包含带双反斜线的行的文本文件。例如,
...
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"
但我不确定如何为字符串 变量 (在这种情况下为“行”)执行此操作?
由于
答案 0 :(得分:2)
您还可以通过添加r
来使用Python的原始字符串表示法。
>>> uni = ur"a\\/b"
>>> print(uni)
a\\/b
答案 1 :(得分:1)
如果文件包含该内容,则会打印该内容。没有问题。
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
答案 2 :(得分:0)
使用print(repr(line))
代替print(line)
。希望这会有所帮助:
>>> a='\\anc'
>>> print(a)
\anc
>>> print(repr(a))
'\\anc'