12345678910111213141516171819202122232425262728293031323334 |
- import sqlite3
- import os
- # 连接到数据库
- conn = sqlite3.connect('file_data_2.db')
- cursor = conn.cursor()
- # 获取要删除的文件名或路径
- file_name_to_delete = 'node_modules' # 替换为要删除的文件名或路径
- # 查询要删除的记录的文件路径
- cursor.execute("SELECT path FROM files WHERE path like ?", (file_name_to_delete, file_name_to_delete))
- file_paths_to_delete = cursor.fetchall()
- # 删除数据库中匹配指定文件名或路径的记录
- cursor.execute("DELETE FROM files WHERE name = ? OR path = ?", (file_name_to_delete, file_name_to_delete))
- deleted_count = cursor.rowcount # 获取删除的记录数
- # 提交更改
- conn.commit()
- # 关闭数据库连接
- conn.close()
- # 从文件系统中删除相应的文件或目录
- for file_path in file_paths_to_delete:
- if os.path.exists(file_path[0]):
- os.remove(file_path[0]) # 或者使用 os.rmdir() 删除目录
- print(f"已从文件系统中删除: {file_path[0]}")
- else:
- print(f"文件或目录不存在: {file_path[0]}")
- # 输出删除结果
- print(f"已从数据库中删除 {deleted_count} 条记录,其文件名或路径为: {file_name_to_delete}")
|