如何使用python文件从另一个python文件中同时删除多行?

2024-09-27 09:25:13 发布

您现在位置:Python中文网/ 问答频道 /正文

现在,我知道以前有人问过这样的问题,但这有点不同。
我想使用文件main.py从另一个文件targetfile.py
中删除多行 这些多行都在一起,如:

line_To_Delete1
line_To_Delete2
line_To_Delete3
line_To_Replace1  

所有这些行都有注释#del1#del2或将其标识为唯一的内容,以及要删除/替换的内容。
那么如何将所有这些行一起删除?
另外,我想用其他行替换第4行。
我该怎么做


Tags: 文件topy内容mainline标识del2
1条回答
网友
1楼 · 发布于 2024-09-27 09:25:13

要根据条件从文件中删除行,您只需从一个文件中读取行,然后在条件为false时将其写入另一个文件

请尝试以下代码:

txt = '''
print(1)
print(2)
print(3)  #del1
print(4)  #del2
print(5)  #rep1
print(6)
print(7)
'''.strip()

with open("targetfile.py",'w') as f:  # write test file
    f.write(txt)

######### main script #########

repstr = "NewText"

outstr = ""
with open("targetfile.py") as f1:
   for ln in f1.readlines():
      if "#rep" in ln:    # condition to replace line
          outstr += repstr + '\n'
      elif not "#del" in ln:  # condition to copy line
          outstr += ln
             
with open("targetfile.py",'w') as f2:  # overwrite file
    f2.write(outstr)

输出(targetfile.py)

print(1)
print(2)
NewText
print(6)
print(7)

相关问题 更多 >

    热门问题