python - 如何使用循环遍历文件并根据第一个索引值删除一定数量的行,然后每 100 次删除?
问题描述
无论出于何种原因,我包含的每 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 的倍数时(这不会发生,因为你从一开始就没有改变它) - 你有一个语义死锁。
您可能必须更改块count
外的某个位置if
才能使其达到条件。
推荐阅读
- jquery - 如何旋转多个图像?
- python - 日期时间与时间戳之间的周数差异
- php - WP_MAIL() 不发送附件
- c++ - ostream 在堆上使用对齐内存崩溃?
- java - 在 Docker 容器中调试 JEE 应用程序
- java - 通过 teamcity 完成部署时日志卡住
- r - 使用 RDCOMClient 我如何使用 advancedsearch() 函数在不同的邮箱中进行搜索?
- templates - Openshift/Kubernetes:在 yaml 文件中使用服务帐户中的令牌
- c# - 列表匹配字段
- javascript - ReactJS — 如何在日历组件中创建灵活的开始日期?