使用Python实现对指定文件夹中的每个文件生成一个唯一标识符,存放在已有的test.db数据库中,数据库中存在表se,包含key、ciper、myid三列
时间: 2024-05-08 16:17:50 浏览: 141
以下是使用Python实现对指定文件夹中的每个文件生成一个唯一标识符,存放在已有的test.db数据库中,数据库中存在表se,包含key、ciper、myid三列的示例代码:
```python
import os
import hashlib
import sqlite3
# 获取指定文件的唯一标识符
def get_file_md5(file_path):
with open(file_path, 'rb') as f:
md5 = hashlib.md5()
while True:
data = f.read(4096)
if not data:
break
md5.update(data)
return md5.hexdigest()
# 遍历指定文件夹中的所有文件,生成唯一标识符并存储到数据库中
def generate_file_ids(folder_path, db_file):
conn = sqlite3.connect(db_file)
cursor = conn.cursor()
for root, dirs, files in os.walk(folder_path):
for file_name in files:
file_path = os.path.join(root, file_name)
file_id = get_file_md5(file_path)
# 将文件唯一标识符存储到数据库中
cursor.execute("INSERT INTO se (key, ciper, myid) VALUES (?, ?, ?)",
(file_name, file_path, file_id))
conn.commit()
cursor.close()
conn.close()
if __name__ == '__main__':
folder_path = '/path/to/folder'
db_file = 'test.db'
generate_file_ids(folder_path, db_file)
```
其中,`get_file_md5`函数使用`hashlib`模块计算文件的MD5值作为唯一标识符,`generate_file_ids`函数遍历指定文件夹中的所有文件,调用`get_file_md5`函数生成唯一标识符,并将其存储到数据库中。最后在`main`函数中指定文件夹路径和数据库文件名,并调用`generate_file_ids`函数即可。
阅读全文