python-3.x - 错误地将一行添加到 txt 文件
问题描述
由于某种原因,当以“a”模式将字符串写入文件时,必要的(条件)字符串被添加了 125 次。虽然一个条目显然对我来说已经足够了。如果您开始以“w”模式添加,则循环将分别仅将最后检查的行添加到文件中,同时清除前一个。如何通过“a”模式修复添加?
workbook = open('base.txt')
print('Starting...')
count = 0
for line in workbook:
number = (str(line)[0:11])
with open(r"base.txt", "r") as file:
lines = file.readlines()
del lines[0]
with open(r"base.txt", "w") as file:
file.writelines(lines)
for x in range(img.size[0]):
for y in range(img.size[1]):
pix = rgb.getpixel((x, y))
if pix in color:
with open('checkbase.txt', 'a') as filehandle:
filehandle.write(line) #125 times add
print(result)
解决方案
您在“for”循环中添加了文件附加操作。你的代码应该是这样的
for x in range(img.size[0]):
for y in range(img.size[1]):
pix = rgb.getpixel((x, y))
if pix in color:
result = '{cyan}YEAH{endcolor}'.format(cyan='\033[96m', endcolor='\033[0m')
with open('checkbase.txt', 'a') as filehandle:
filehandle.write(line) # appending file should now happen only once for every line
使用'w'模式打开文件时,每次打开文件时都会覆盖文件内容,所以你只有一条记录,因为它不仅创建,还删除了124条旧记录
推荐阅读
- c# - 如何在知道月份和年份的情况下创建未来日期
- button - Applescript Mojave 单击图像捕获按钮
- django - 在给出命令 - python manage.py runserver 时,它显示给定的错误
- reactjs - 无法调用可能是“未定义”的对象。ts(2722)
- python-3.x - 如何配置 Atom 脚本以运行 main.py
- dialogflow-es - 如何访问更新用户应该去的下一个上下文 [DialogFlow Fulfillment]
- matplotlib - matplotlib 代码在输出中不显示任何内容
- ios - iOS 发布应用程序在启动“无法获取标签的 pid”时崩溃
- json - JSON中位置0处的意外令牌< - ReactJs
- c++ - 检查两个字符串是否相互排列