首页 > 解决方案 > Python继续从文件循环

问题描述

我有一个代码,可以生成从中000000000000写入ffffffffffff文件的字符。我正在尝试检查程序是否已关闭,以便我可以从文件中读取,比如说 at 00000000781B,然后从文件中继续 for-loop。变量“尝试” in(用于尝试to_attempt:) 具有元组类型,并且始终从零开始。

是否可以从指定值继续 for 循环?

import itertools

f = open("G:/empty/last.txt", "r")
lines = f.readlines()
rand_string = str(lines[0])
f.close()
letters = '0123456789ABCDEF'
print(rand_string)
for length in range(1, 20):
    to_attempt = itertools.product(letters, repeat=length)
    for attempt in to_attempt:
        gen_string = rand_string[length:] + ''.join(attempt)
        print(gen_string)

标签: pythonitertools

解决方案


您必须将值存储在文件中以跟踪上次读取的值。我假设从 000000000000 到 ffffffffffff 的主 for 循环是to_attempt一个。您只需将 for 循环的值存储在文件中即可。您可以使用新变量来跟踪它。

try:
    with open('save.txt','r') as reader:
        save = int(reader.read())
except FileNotFoundError:
    save = 0
#rest of the code
    for i in range(save,len(to_attempt)):
        with open('save.txt','r') as writer:
            writer.write(i)
        #rest of the code
    

推荐阅读