错误地将一行添加到 txt 文件
Incorrectly adding a line to a txt file
出于某种原因,在 "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='3[96m', endcolor='3[0m')
with open('checkbase.txt', 'a') as filehandle:
filehandle.write(line) # appending file should now happen only once for every line
使用'w'模式打开文件时,每次打开文件都会覆盖文件内容,所以你只有一条记录,因为它不仅创建,还删除了124条旧记录
出于某种原因,在 "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='3[96m', endcolor='3[0m')
with open('checkbase.txt', 'a') as filehandle:
filehandle.write(line) # appending file should now happen only once for every line
使用'w'模式打开文件时,每次打开文件都会覆盖文件内容,所以你只有一条记录,因为它不仅创建,还删除了124条旧记录