3

我有一个像这样的文本文件

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 中的文本文件中获取这些确切的数据?

4

2 回答 2

6

区别在于python如何表示字符串。如果你print这样做,你应该看到你想要什么。

>>> r"foo\t"
'foo\\t'
>>> print r"foo\t"
foo\t

这归结为reprstr...之间的区别

>>> s = r"foo\t"
>>> print str(s)
foo\t
>>> print repr(s)
'foo\\t'

并且推理是如果可能的话,repr应该返回一个适合重新创建对象的字符串。在您的情况下,如果repr没有添加额外的转义反斜杠,则字符串表示形式看起来像是其中包含制表符。

于 2013-06-24T17:36:13.950 回答
1

您看到的是字符串的一个版本,当您使用或打印该字符串时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    
于 2013-06-24T17:37:41.233 回答