commit
bc4e330ee7
5 changed files with 101 additions and 0 deletions
@ -0,0 +1,3 @@ |
||||
.idea/ |
||||
__pycache__/ |
||||
*.log |
@ -0,0 +1,32 @@ |
||||
import pymysql |
||||
from pymysql.cursors import DictCursor |
||||
|
||||
db_config = { |
||||
'host': 'home.rogersun.cn', |
||||
'user': 'root', |
||||
'password': 'Sxzgx1209', |
||||
'database': 'file_md5' |
||||
} |
||||
|
||||
db_connection = pymysql.Connect(**db_config) |
||||
db_cursor = db_connection.cursor(cursor=DictCursor) |
||||
|
||||
|
||||
def insert_data(_data): |
||||
insert_sql = "INSERT INTO files VALUES (NUAL, %s, %s, %s, %s);" |
||||
db_cursor.execute(insert_sql, _data) |
||||
db_connection.commit() |
||||
|
||||
|
||||
def get_md5_by_path(_path): |
||||
get_md5_sql = "SELECT md5 FROM files WHERE path = %s;" |
||||
db_cursor.execute(get_md5_sql, (_path,)) |
||||
r = db_cursor.fetchone() |
||||
return r |
||||
|
||||
|
||||
def is_exist(_md5): |
||||
is_exist_sql = "SELECT * FROM files WHERE md5 = %s;" |
||||
db_cursor.execute(is_exist_sql, (_md5,)) |
||||
r = db_cursor.fetchone() |
||||
return r |
@ -0,0 +1,17 @@ |
||||
import os |
||||
|
||||
|
||||
def get_file_list(_path): |
||||
file_gen = os.walk(_path) |
||||
file_list = [] |
||||
for item in file_gen: |
||||
if len(item[2]): |
||||
for file in item[2]: |
||||
file_list.append(os.path.join(item[0], file)) |
||||
return file_list |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
result = get_file_list(r"E:\Backup\Tools\Normal\浏览器") |
||||
for r in result: |
||||
print(r) |
@ -0,0 +1,23 @@ |
||||
import hashlib |
||||
|
||||
|
||||
def get_file_md5(file_name): |
||||
""" |
||||
计算文件的md5 |
||||
:param file_name: |
||||
:return: |
||||
""" |
||||
m = hashlib.md5() # 创建md5对象 |
||||
with open(file_name,'rb') as fobj: |
||||
while True: |
||||
data = fobj.read(4096) |
||||
if not data: |
||||
break |
||||
m.update(data) # 更新md5对象 |
||||
|
||||
return m.hexdigest() # 返回md5对象 |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
md5_code = get_file_md5("E:\Backup\Tools\SystemISO\kms.txt") |
||||
print(md5_code) |
@ -0,0 +1,26 @@ |
||||
from getFiles import get_file_list |
||||
from getMd5 import get_file_md5 |
||||
from db import * |
||||
|
||||
|
||||
def main_process(): |
||||
disk = "" |
||||
cate = "" |
||||
path = "" |
||||
|
||||
if disk == "" or cate == "" or path == "": |
||||
print("检查参数") |
||||
return |
||||
|
||||
file_list = get_file_list(path) |
||||
for f in file_list: |
||||
if md5 := get_md5_by_path(f): |
||||
print(f"请注意!!!文件的md5({md5})已经存在: {f}") |
||||
else: |
||||
md5 = get_file_md5(f) |
||||
insert_data((cate, disk, f, md5)) |
||||
print(f"文件的md5({md5})成功插入: {f}") |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
main_process() |
Loading…
Reference in new issue