我有一个文件
52779 0 0 0 1 0 0 0 0 1 52779.jpg
278973 0 0 0 1 0 0 0 0 1 278973.jpg
195284 0 0 0 1 0 0 0 0 1 195284.jpg
19992 0 0 0 1 0 0 0 0 1 19992.jpg
该文件由Python在Python中创建(见下文)。我希望每个空格的长度为1 \t
。但是,测试显示某些行没有问题,而其他行则没有。
如何检测\t
的长度并将每个空格格式化为\t
?
原始文件
204149 "0 0 0 1 0 0 0 0 1" 204149.jpg
52779 "0 0 0 1 0 0 0 0 1" 52779.jpg
278973 "0 0 0 1 0 0 0 0 1" 278973.jpg
195284 "0 0 0 1 0 0 0 0 1" 195284.jpg
我对原始文件做了什么
fi = open('image.lst')
fi.readline()
fo = open('image2.lst', "w")
for line in fi:
line = line.replace('"', ' ')
fo.write("%s" % line)
fi.close()
fo.close()
答案 0 :(得分:1)
我不确定“检测'\t'
的长度”是什么意思。 len('\t') == 1
,如果这就是你的意思......但是在这一行
line = line.replace('"', ' ')
您要用一个空格替换双引号,因此最终会使用空格而不是'\t'
。
试试这个:
with open('image.lst') as fi, open('image2.lst', 'w') as fo:
for line in fi:
line = line.replace(' ', '\t').replace('"', '')
fo.write(line)
输出行
204149\t0\t0\t0\t1\t0\t0\t0\t0\t1\t204149.jpg