2013-06-24 37 views
2

我有这样在Python中如何读 t?

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

+2

我也是梅西迷。 :) –

回答

5

区别是基于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没有添加额外的转义反斜杠,那么字符串表示看起来像它有一个制表符。

+1

为“脚”+1:P –

+0

我没有做任何事情的字符串。如何让文件中的相同字符串变量file_data – EbinPaulose

+0

@SamueleMattiuzzo - 我甚至没有这样做的目的:) – mgilson

1

你看到的是一个repr版本的字符串,当你使用str或打印该字符串时,你不会得到任何'\\t'

>>> 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