我正在合并一些制表符分隔的文件,打印的输出不正确,但如果我访问REPL中的字符串,它看起来很好。它看起来是这样的:
fh=open('out.vcf')
for line in fh:
i+=1
if i == 29401:
print(line)
AAEX03025909.1 1068 . T C 0 42 5
然后看它没有打印:
line
'AAEX03025909.1t1405t.tCtTtttttt0t0t0t0t0t0t0t0t10t9n'
当我在less中查看out.vcf时,它看起来像是打印的输出。为什么我得到不同的输出?我想要一个不需要打印的字符串。使用逗号而不是制表符可以解决问题,但我希望将其保留为制表符分隔的
数据的表示方式和存储方式之间总是会有一些差异;实际上,这些值存储为二进制,但表示方式取决于编码。。在这种情况下,您看到t
(ASCII字符9(以两种方式表示
print()
将显示文件及其编码(您可以更改(,而简单地回显文件将显示Pythonrepr()
解释
>>> "t"
't'
>>> ord("t")
9
>>> print("t")
>>> repr("t")
"'\t'"
>>> print(repr("t"))
't'