Python 如何使用循环遍历文件并根据第一个索引值删除一定数量的行,然后每隔100行删除一行?
不管出于什么原因,我每100次打印到文件中的模数部分被跳过了。。。x[0]!=“*”条件起作用,计数=0也起作用,所以我不确定还会发生什么。。。任何帮助都将不胜感激Python 如何使用循环遍历文件并根据第一个索引值删除一定数量的行,然后每隔100行删除一行?,python,loops,file,Python,Loops,File,不管出于什么原因,我每100次打印到文件中的模数部分被跳过了。。。x[0]!=“*”条件起作用,计数=0也起作用,所以我不确定还会发生什么。。。任何帮助都将不胜感激 list1 = ['FileA.abc','FileB.abc','FileC.abc'] for lis1 in list1: count = 0 with open(lis1, "r+") as f: d = f.readlines() f.seek(0) for
list1 = ['FileA.abc','FileB.abc','FileC.abc']
for lis1 in list1:
count = 0
with open(lis1, "r+") as f:
d = f.readlines()
f.seek(0)
for i in d:
x = i.split(",")
if x[0] != "*":
f.write(i)
elif (count = 0) or ((count % 105) = 0):
f.write(i)
count = count + 1
print(count)
f.truncate()
只有当count=0时才增加count,因此count将为1 在此之后,count不会更改,更改的条件是当它变为105的倍数时(这不会发生,因为您从一开始就没有更改它)-您有一个语义死锁
您可能必须在
if
块之外的某个地方更改计数,以使其符合条件。您仅在count=0时增加计数,因此计数将为1
在此之后,count不会更改,更改的条件是当它变为105的倍数时(这不会发生,因为您从一开始就没有更改它)-您有一个语义死锁
您可能必须更改if
块之外的count
以使其符合条件。100或105行?100或105行?