【发布时间】:2016-02-20 01:46:21
【问题描述】:
我有一个大文件。我想从中删除一些行。我发现了一些其他类似的问题,但它们不是这样的。该文件如下所示:
A_B 3
Line 1
Line 2
Line 3
C_D 2
Another Line 1
Another line 2
A_B 1
Different line 1
想象一下只有这些行的大文件。首先会有像 A_B、C_D、E_G 等的常量字符串,然后会有像 A_B 3、C_D 4 等的可变数字。然后是行数,例如如果有 A_B 2,那么后面是 2线。如果有 A_B 3 则后面会跟 3 行。我想删除“A_B(数字)”本身和之后的行(数字)。在上面,输出应该是:
C_D 2
Another Line 1
Another line 2
我已经用 Python 编写了脚本,它会打印我不想要的内容:
with open('file.txt') as oldfile:
for line in oldfile:
if 'A_B' in line:
number=line.split()[1]
num=int(number)
print
print line,
for i in range(num):
print next(oldfile),
【问题讨论】:
-
那么...它打印的是什么?
-
它应该打印除“A_B 2”行和后面的2行之外的所有其他行。
标签: python python-2.7