我有一个像这样的文本文件
i am a messi fan \t
我正在使用此代码阅读
f = open(input_para['controle_file'], 'r')
filedata = f.read().splitlines()
现在我的输出是
i am a messi fan \\t
所需的输出是 我是梅西球迷 \t
如何从 python 中的文本文件中获取这些确切的数据?
我有一个像这样的文本文件
i am a messi fan \t
我正在使用此代码阅读
f = open(input_para['controle_file'], 'r')
filedata = f.read().splitlines()
现在我的输出是
i am a messi fan \\t
所需的输出是 我是梅西球迷 \t
如何从 python 中的文本文件中获取这些确切的数据?
区别在于python如何表示字符串。如果你print
这样做,你应该看到你想要什么。
>>> r"foo\t"
'foo\\t'
>>> print r"foo\t"
foo\t
这归结为repr
和str
...之间的区别
>>> s = r"foo\t"
>>> print str(s)
foo\t
>>> print repr(s)
'foo\\t'
并且推理是如果可能的话,repr
应该返回一个适合重新创建对象的字符串。在您的情况下,如果repr
没有添加额外的转义反斜杠,则字符串表示形式看起来像是其中包含制表符。
您看到的是字符串的一个版本,当您使用或打印该字符串时repr
,您不会得到任何版本。'\\t'
str
>>> strs = "i am a messi fan \t"
>>> repr(strs)
"'i am a messi fan \\t'"
>>> str(strs)
'i am a messi fan \t'
>>> print strs
i am a messi fan