delFile.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. import sqlite3
  2. import os
  3. # 连接到数据库
  4. conn = sqlite3.connect('file_data_2.db')
  5. cursor = conn.cursor()
  6. # 获取要删除的文件名或路径
  7. file_name_to_delete = 'node_modules' # 替换为要删除的文件名或路径
  8. # 查询要删除的记录的文件路径
  9. cursor.execute("SELECT path FROM files WHERE path like ?", (file_name_to_delete, file_name_to_delete))
  10. file_paths_to_delete = cursor.fetchall()
  11. # 删除数据库中匹配指定文件名或路径的记录
  12. cursor.execute("DELETE FROM files WHERE name = ? OR path = ?", (file_name_to_delete, file_name_to_delete))
  13. deleted_count = cursor.rowcount # 获取删除的记录数
  14. # 提交更改
  15. conn.commit()
  16. # 关闭数据库连接
  17. conn.close()
  18. # 从文件系统中删除相应的文件或目录
  19. for file_path in file_paths_to_delete:
  20. if os.path.exists(file_path[0]):
  21. os.remove(file_path[0]) # 或者使用 os.rmdir() 删除目录
  22. print(f"已从文件系统中删除: {file_path[0]}")
  23. else:
  24. print(f"文件或目录不存在: {file_path[0]}")
  25. # 输出删除结果
  26. print(f"已从数据库中删除 {deleted_count} 条记录,其文件名或路径为: {file_name_to_delete}")