用python3 计算指定目录下所有文件md5值,并输出到一个txt文件

用python3 计算指定目录下所有文件md5值,并输出到一个txt文件,第1张

import os

import hashlib

path = '指定目录'

def calc_md5(file_obj):

md5 = hashlib.md5()

while True:

chunk = file_obj.read(1024**2) # 1K

if not chunk:

return md5.hexdigest()

md5.update(chunk)

if __name__ == '__main__':

# 只遍历本目录,不遍历子目录

with open('md5.txt', 'w') as fout:

for file_name in os.listdir(path):

file_path = os.path.join(path, file_name)

if os.path.isfile(file_path):

with open(file_path, 'rb') as fin:

info = '%s %s' % (file_name, calc_md5(fin))

print(info)

fout.write(info + '\n')

首先导入sys模块

import sys

然后在打算把输出数据写入文件的代码之前加上以下代码

output=sys.stdout

outputfile=open(filename,'w')

sys.stdout=outputfile

上面的filename表示输出文件

程序结束或恢复成正常输出时加上以下代码

outputfile.close()

sys.stdout=output

恢复输出为开始保存的正常输出值

在平时工作中,有时我们需要将控制台输出保存到文件

缺点:只能保存到文件,但控制台无输出

将控制台输出的同时即时保存到文件

print 函数中的 file 参数, file=f ,输出到文件; file=sys.stdout ,输出到终端; flush=True ,即时刷新


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12096083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存