繁体   English   中英

如何使用循环遍历文件并根据第一个索引值删除一定数量的行,然后每 100 次删除?

[英]How to use loop through a file and delete certain number of rows based upon the first indexed value and then every 100th after?

无论出于何种原因,我包含的每 100 次打印到文件中的模数部分被跳过... x[0],= "*" 条件有效,count = 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 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 将为 1。

之后, count 不会改变,它改变的条件是当它变成 105 的倍数时(这不会发生,因为你从一开始就没有改变它) - 你有一个语义死锁。

您可能必须在if块之外的某处更改count才能使其条件成立。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM