时间:2021-05-22
import hashlibimport osimport timeimport configparserimport uuid def test_file_md5(file_path): test = hashlib.md5() if os.path.isfile(file_path): with open(file_path, "rb") as f: while True: data = f.read(8096) if not data: break else: test.update(data) ret = test.hexdigest() config = configparser.ConfigParser() config.read("E:/python/pycharm/再开次开始/前端/test_md5.ini",encoding="utf-8") if config.has_section(os.path.basename(file_path)): new_section_name = str(os.path.basename(file_path)) + ":" + str(uuid.uuid4()) config[new_section_name] = {"文件路径":os.path.dirname(file_path), "md5值":ret} else: config[os.path.basename(file_path)] = {"文件路径": os.path.dirname(file_path), "md5值": ret} config.write(open("E:/python/pycharm/再开次开始/前端/test_md5.ini","w",encoding="utf-8")) def test_dir_md5(file_path): test_abs_path = os.path.abspath(file_path) # print(test_abs_path) os.chdir(test_abs_path) for file in os.listdir(os.getcwd()): if os.path.isfile(file): test_file_md5(os.path.abspath(file)) elif os.path.isdir(file): test_dir_md5(os.path.abspath(file)) else: pass # return True if __name__ == '__main__': began_path = os.getcwd() test_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(began_path)))) os.chdir(test_path) print(os.listdir()) for test_file in os.listdir(): os.chdir(test_path) if os.path.abspath(test_file).startswith("E:\\$"): continue else: if os.path.isfile(test_file): # print("yyyyy") test_file_md5(os.path.abspath(test_file)) elif os.path.isdir(test_file): # print("hahah") test_dir_md5(os.path.abspath(test_file)) # print(os.path.abspath(test_file)) else: pass
结果如下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python实现文件的全备份和差异备份之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题:md5sum获取有些软连接的MD5值存在问题不支持
linux下使用md5sum递归生成整个目录的md5今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本
复制代码代码如下://计算字符串的MD5值publicstringGetMD5(stringsDataIn){MD5CryptoServiceProviderm
之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题:•md5sum获取有些软连接的MD5值存在问题•不支持对空目录进
由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法。复制代码代码如下:if(isset($_FILES['mul