抱歉,如果我的措辞错误,下面是我的脚本,我试图找出为什么当我查看存档文件(我创建的)时,当要打开/读取的文件有 10000 时,我只看到 9874 行。我我想我想理解为什么缺少一些迭代。我已经尝试过几次,但这个数字总是有所不同。我做错了什么?
import multiprocessing
import hashlib
from tqdm import tqdm
archive = open('color_archive.txt', 'w')
def generate_hash(yellow: str) -> str:
b256 = hashlib.sha256(yellow.encode()).hexdigest()
x = ' '.join([yellow, b256])
archive.write(f"{x}\n")
if __name__ == "__main__":
listofcolors = []
with open('x.txt') as f:
for yellow in tqdm(f, desc="Generating..."):
listofcolors.append(yellow.strip())
cpustotal = cpu_count() - 1
pool = multiprocessing.Pool(cpustotal)
results = pool.imap(generate_hash, listofcolors)
pool.close()
pool.join()
print('DONE')
这个脚本执行得很好,但是当查看存档文件时,有些行丢失了,例如一个 10000 行的文件只向新文件写入了 9985 行,我做错了什么?
可以在这里参考python知识:https://pythonid.com/tutorials/python-for-loops