我试图在找到某一行后删除某些行。下面是示例:
1. ABC01
2. AB_Name
3. AC_Name
4. ID_Name
5. ABC02
6. AB_Name
7. ABB_Name
8. AC_Name
9. AQ_Name
10. ID_Name
11. ABC01
12. AP_Name
13. AZ_Name
14. AB_Name
15. ID_Name
我想要删除的是 ABC01 之后的每一行,并忽略 ABC02 及其后面的行。所以我正在寻找的输出是:
1. ABC01
2. AB_Name
3. AC_Name
4. ID_Name
11. ABC01
12. AP_Name
13. AZ_Name
14. AB_Name
15. ID_Name
我尝试过 if 语句如下:
lines = [line.rstrip('\n') for line in open('File.txt')]
listings = []
for line in lines:
if line.startswith("ABC01"):
continue
if line.startswith("ID"):
break
listings.append(line.strip())
我使用的是Python 2.7
最佳答案
我只是保留一个标志,让我跟踪要忽略的内容和要采取的内容。
ignore = False
for line in lines:
if line.startswith("ABC01"):
ignore = False
elif line.startswith("ABC02"):
ignore = True
if not ignore:
listings.append(line.strip())
关于Python 在找到特定行后读取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46785347/