Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 写入文本文件的特定行_Python - Fatal编程技术网

Python 写入文本文件的特定行

Python 写入文本文件的特定行,python,Python,我写这段代码: 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

我写这段代码:

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行的文件。我想从每一行开始写点东西。第一行的3个单词不同,其他2个单词不同。你能告诉我我做错了什么吗?

对于行=['LC'+行对行输入行]

您将LC写入每一行,而不仅仅是前3行

lines=['LB'+line for lines in lines]这里也一样

首先,您可以在行中添加适当的前缀,然后您可以实际编写行。 比如:

for i, line in enumerate(lines):
  if i < 3:
     # add prefix to line
  if 3 < i < 5:
     # add correct prefix
现在您的行有了正确的前缀,您可以将它们全部写入一个文件

for line=['LC'+line for line in line]

lines = [("LC" if i < 3 else "LB")+line for i,line in enumerate(lines)]
您将LC写入每一行,而不仅仅是前3行

lines=['LB'+line for lines in lines]这里也一样

首先,您可以在行中添加适当的前缀,然后您可以实际编写行。 比如:

for i, line in enumerate(lines):
  if i < 3:
     # add prefix to line
  if 3 < i < 5:
     # add correct prefix
现在,您的行具有正确的前缀,您可以将所有行写入一个文件

lines = [("LC" if i < 3 else "LB")+line for i,line in enumerate(lines)]
可能会成功


可能会成功

看起来你的第二个条件有点混乱。如果你在前三行写东西,然后在第四行和第五行写东西,那么你的条件需要改变

尝试将第二个elif更改为:

elif i <= 5 and i >=3:

这将打开文件,为您提供一个句柄,并允许您对其进行读写

您的第二个条件似乎有点混乱。如果你在前三行写东西,然后在第四行和第五行写东西,那么你的条件需要改变

尝试将第二个elif更改为:

elif i <= 5 and i >=3:

这将打开文件,为您提供一个句柄,并允许您对其进行读写

我想从每一行开始写点东西。我觉得这个规格太模糊了。你能更准确地说出你想做什么和你现在得到了什么吗?@dmckee在前三行是LC,在另一行是LB。如果<3@user1617766for循环的主体需要缩进。我想从每一行开始写一些东西。我觉得这个规格太模糊了。你能更准确地说出你想做什么和你现在得到了什么吗?@dmckee在前三行是LC,在另一行是LB。如果<3@user1617766for循环的主体需要缩进[LC%d%i+行对i,行对枚举行][LC%d%i+行对i,行对枚举行]