Maison >développement back-end >Tutoriel Python >Comment utiliser Python pour générer la fonction de valeur de contrôle du fichier md5
Avant-propos
Il existe une commande sous Linux appelée md5sum, qui permet de générer la valeur md5 d'un fichier. Généralement, le résultat sera enregistré dans un fichier pour vérification. Par exemple, il sera utilisé comme ceci :
[crazyant@localhost PythonMd5]$ more sample_file www.crazyant.net www.51projob.com [crazyant@localhost PythonMd5]$ md5sum sample_file > sample_file.md5file [crazyant@localhost PythonMd5]$ more sample_file.md5file 311d384505e3622ccf85d88930e2b0a0 sample_file [crazyant@localhost PythonMd5]$ md5sum -c sample_file.md5file sample_file: OKParmi eux, md5sum -c est utilisé pour vérifier si la valeur md5 générée est correcte. Utilisez python pour générer des valeurs de fichier md5 et générer des fichiers de résultats identiques aux résultats md5sum Python peut utiliser le module md5 de hashlib pour générer des codes de vérification md5 pour le contenu du fichier. Si vous souhaitez générer le même fichier de résultats que md5sum, il vous suffit d'afficher la valeur du résultat MD5 et le nom du fichier sur une seule ligne, avec deux espaces au milieu. Code d'essai :
# -*- encoding:utf-8 -*- from hashlib import md5 import os def generate_file_md5value(fpath): '''以文件路径作为参数,返回对文件md5后的值 ''' m = md5() # 需要使用二进制格式读取文件内容 a_file = open(fpath, 'rb') m.update(a_file.read()) a_file.close() return m.hexdigest() def generate_file_md5sumFile(fpath): fname = os.path.basename(fpath) fpath_md5 = "%s.md5" % fpath fout = open(fpath_md5, "w") fout.write("%s %s\n" % (generate_file_md5value(fpath), fname.strip())) print "generate success, fpath:%s" % fpath_md5 fout.flush() fout.close() if __name__ == "__main__": fpath = "/home/users/workbench/PythonMd5/sample_file" # 测试一:以文件路径作为参数,获得md5后的字符串 print generate_file_md5value(fpath) # 测试二:生成和linux命令:md5sum同样结果的.md5文件 generate_file_md5sumFile(fpath)Résultats en cours d'exécution :
[crazyant@localhost PythonMd5]$ python generateMd5file.py 311d384505e3622ccf85d88930e2b0a0 generate success, fpath:/home/crazyant/workbench/PythonMd5/sample_file.md5 [crazyant@localhost PythonMd5]$ md5sum -c sample_file.md5 sample_file: OKRemarque Si le code développé sous Windows est directement soumis à Linux pour exécution, l'exécution du code échoue souvent car le caractère de nouvelle ligne sous Windows est rn et Linux est n. Généralement, une conversion est requise. Résumé Ce qui précède représente l'intégralité du contenu de cet article. J'espère que le contenu de cet article pourra être utile aux études ou au travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien au site Web PHP chinois. Pour plus d'articles sur la façon d'utiliser Python pour générer la fonction de valeur de contrôle du fichier md5, veuillez faire attention au site Web PHP chinois !