替换的Python代码\t\t未能替换\t\r\n

替换的Python代码\t\t未能替换\t\r\n,python,tab-delimited-text,Python,Tab Delimited Text,我总是将\t\t替换为\t9999999\t for line in fileinput.input(input, inplace = 1): print line.replace('\t\t', '\t999999999\t'), 因此,我认为下面这样的编码可以将\t\r替换为\t9999999\r for line in fileinput.input(input, inplace = 1): print line.replace('\t\r', '\t999999999\

我总是将\t\t替换为\t9999999\t

for line in fileinput.input(input, inplace = 1):
    print line.replace('\t\t', '\t999999999\t'),
因此,我认为下面这样的编码可以将\t\r替换为\t9999999\r

for line in fileinput.input(input, inplace = 1):
    print line.replace('\t\r', '\t999999999\r'),
但令人惊讶的是,事实并非如此

输入是以制表符分隔的文本

\r是不是有什么特殊的东西不能用通常的方式替换?那么我如何用python替换它呢

==问题已编辑====

我试过这个

for line in fileinput.input(input, inplace = 1):
    print line.replace('\t\n', '\t999999999\n'),
它起作用了

我的输入按分隔行\r\n

也许Python的读取\r\n与\r\n相同

也许这就是它起作用的原因

如果输入仅用行分隔符分隔行,此代码是否有效?

\r
是行分隔符的一部分。Python在文本模式下读取文件时,将行分隔符标准化,只对行使用
\n
<代码>\r和
\r\n
在读取时被替换为
\n

注意:使用
fileinput
时,您需要从
中删除换行符,否则您的输出中会出现双换行符,而不是使用
打印..,

for line in fileinput.input(input, inplace = 1):
    line = line.replace('\t\n', '\t999999999\n')
    print line.rstrip('\n')

打印..,
为所有行添加额外的空间。

\r
是行分隔符(通常与
\n
组合使用);Python很可能将其替换为
\n
@Martjin\u Pieters谢谢!我可以解决这个问题。但是我只是通过尝试而不是\r来解决问题。我编辑了我的问题。如果输入仅以\r\n分隔行,则我编辑的问题中的代码是否有效?@user3123767:准确地说,
\r\n
(Windows行分隔符约定)在读取时被替换为
\n
,反之亦然。@Martjin\u Pieters在读取时也被\r\n python替换?