[英]Writing specific lines of a text file
我写这段代码:
f = open('example.txt','r')
lines = f.readlines()
for i, line in enumerate(f):
if i < 3:
lines = ['LC '+line for line in lines]
with open('./example.txt', 'w') as f:
f.writelines(lines)
f.close()
elif i < 5:
lines = ['LB '+line for line in lines]
with open('./example.txt', 'w') as f:
f.writelines(lines)
f.close()
elif i > 6:
break
f.close()
我有一个11行的文件。 我想从每一行开始写一些东西。 第一行的第三个单词不同,其他第二行的单词不同。您能帮我做错什么吗?
lines = [("LC" if i < 3 else "LB")+line for i,line in enumerate(lines)]
可能会解决问题
lines = ['LC '+line for line in lines]
您正在将LC
写入每行而不仅仅是前3行。
lines = ['LB '+line for line in lines]
此处相同
首先,您可以在行中添加适当的前缀,然后再实际编写行。 像这样的东西:
for i, line in enumerate(lines):
if i < 3:
# add prefix to line
if 3 < i < 5:
# add correct prefix
现在您的行有了正确的前缀,您可以将所有这些都写到文件中
似乎您的第二个条件有些混乱。 如果您要在前三行写东西,然后在第四和第五行写东西,那么您的条件需要更改。
尝试将第二个elif更改为:
elif i <= 5 and i >=3:
另外,一个建议,您无需每次都打开文件进行写入。 您可以将第一行设置为:
f = open('example.txt','rw')
这将打开文件,为您提供文件的句柄,并允许您对其进行读写。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.