在Python文本文件的特定行中追加数据?
假设我有一个文本文件:date.txt。月|日|年在Python文本文件的特定行中追加数据?,python,file,text,Python,File,Text,假设我有一个文本文件:date.txt。月|日|年 January|20|2014 February|10| March|5|2013 我想把2012放在2月10日之后。如何才能做到这一点?您需要将文件读入内存,修改所需的行并写回文件 temp = open('temp', 'wb') with open('date.txt', 'r') as f: for line in f: if line.startswith('February'): l
January|20|2014
February|10|
March|5|2013
我想把2012放在2月10日之后。如何才能做到这一点?您需要将文件读入内存,修改所需的行并写回文件
temp = open('temp', 'wb')
with open('date.txt', 'r') as f:
for line in f:
if line.startswith('February'):
line = line.strip() + '2012\n'
temp.write(line)
temp.close()
shutils.move('temp', 'data.txt')
如果不想使用临时文件:
with open('date.txt', 'r+') as f: #r+ does the work of rw
lines = f.readlines()
for i, line in enumerate(lines):
if line.startswith('February'):
lines[i] = lines[i].strip() + '2012\n'
f.seek(0)
for line in lines:
f.write(line)
您可以使用该模块,例如:
import csv
data = [
"January|20|2014",
"February|10|",
"March|5|2013"
]
reader = csv.reader(data, delimiter="|")
for line in reader:
line = [i if i != "" else "2012" for i in line]
print(line)
请注意:
csv.reader()。因此,您可以轻松地将文件对象传递给它。那行代码非常有用。谢谢