如何修复fi中不散列每一行的代码

2024-03-29 13:27:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图散列每一行在一个txt文件,但它只会散列第一行

我试着重新定向打印

import hashlib

with open('hash.txt','r+') as f:
    for line in f:
        line = line.strip()
        f.write(f'{line} -> {hashlib.sha3_256(line.encode()).hexdigest()}')
f.close()
output in text 
123
abc
111123 -> a03ab19b866fc585b5cb1812a2f63ca861e7e7643ee5d43fd7106b623725fd67

Tags: 文件inimporttxtforaswithline
1条回答
网友
1楼 · 发布于 2024-03-29 13:27:57

您正在写入的文件与读取的文件相同。尝试创建新文件并将结果写入其中

with open('hash.txt','r+') as f:
    with open('result.txt', 'w+') as r:
        for line in f:
            line = line.strip()
            r.write(f'{line} -> {hashlib.sha3_256(line.encode()).hexdigest()}\n')

另外,如果将一起使用,则不需要关闭文件,因为它已经为您关闭了

相关问题 更多 >