我的文本文件的日期存储在每个文件的第7行,格式如下:
Date: 1233PM 14 MAY 00
我想搜索每个文件,并将新的第7行格式化为:
Date: 1233PM 14 MAY 2000
所以,基本上,我只需要坚持一个' 20'在第七行的最后两位数字前面。
可能不是最困难的问题,但我一直遇到困难,因为textfile.readlines()将所有内容都读入第一个(textfile [0])位置。
答案 0 :(得分:0)
您可以阅读所有文件,更改指定的行,然后再次保存:
arc = open('file_name.txt').readlines()[0].split('\r')
#Do what you want with the 7th line i.e. arc[6]
new_arc = open('file_name.txt','w')
for line in arc:
new_arc.write(line)
new_arc.write('\n')
new_arc.close()
答案 1 :(得分:0)
试试这个:
# open file
f = open("file.txt" , 'rU+b')
lines = f.readlines()
# modify line 7
lines[6] = lines[6][:-2] + "20" + lines[6][-2:]
# return file pointer to the top so we can rewrite the file
f.seek(0)
f.truncate()
# write the file with new content
f.write(''.join(lines))
f.close
答案 2 :(得分:0)
也许这个:
with open(filename, 'r') as f:
lines = f.readlines()
with open(filename, 'w') as f:
for idx, line in lines:
if idx == 7: # or 6
vals = line.split()
if len(vals[-1]) == 2:
vals[-1] = '20'+vals[-1]
line = ' '.join(vals)
f.write(line)