我总是用 所以我认为如下所示的编码将用\ t \ t \ t \ t \ t \ t来替换\ t \ _ \ r \ n 但令人惊讶的是它没有。 输入是制表符分隔的txt。 \ r \ n有什么特别之处,它不能以通常的方式替换吗?那么如何用python替换它? ===编辑问题==== 我试过了。 有效! 我的输入是用\ r \ n 也许Python读取\ r \ n就像\ n? 也许这就是它起作用的原因? 如果输入仅用\ r \ n分隔行,那么此代码是否有效?for line in fileinput.input(input, inplace = 1):
print line.replace('\t\t', '\t999999999\t'),
for line in fileinput.input(input, inplace = 1):
print line.replace('\t\r', '\t999999999\r'),
for line in fileinput.input(input, inplace = 1):
print line.replace('\t\n', '\t999999999\n'),
答案 0 :(得分:3)
\r
是行分隔符(的一部分)。在文本模式下读取文件时,Python会对行分隔符进行规范化,仅对行使用\n
;阅读时\r
和\r\n
被\n
取代。
注意:使用fileinput
时,您需要从line
剥离换行符,否则您的输出中会出现 double 换行符而不是使用print ..,
:
for line in fileinput.input(input, inplace = 1):
line = line.replace('\t\n', '\t999999999\n')
print line.rstrip('\n')
print ..,
为你的所有行添加了额外的空间。