文件同步工具
实现两个文件夹之间的文件同步,确保它们的内容保持一致。
import os
import shutildef sync_folders(source_folder, target_folder):
"""
同步两个文件夹的内容
Args:
source_folder: 源文件夹的路径
target_folder: 目标文件夹的路径
"""
# 获取源文件夹和目标文件夹中的所有文件名
source_files = os.listdir(source_folder)
target_files = os.listdir(target_folder)
# 检查源文件夹中的每个文件
for file_name in source_files:
source_file_path = os.path.join(source_folder, file_name)
target_file_path = os.path.join(target_folder, file_name)
# 如果文件在目标文件夹中不存在,或者源文件夹中的文件更新了,就需要复制到目标文件夹
if file_name not in target_files or \
os.path.getmtime(source_file_path) > os.path.getmtime(target_file_path):
shutil.copy(source_file_path, target_folder)
print(f"复制文件: {file_name}")
print("同步完成")# 测试
if __name__ == "__main__":
source_folder = "/path/to/source_folder"
target_folder = "/path/to/target_folder"
sync_folders(source_folder, target_folder)
代码逻辑:
比较源文件夹和目标文件夹中的文件,如果某个文件在目标文件夹中不存在,或者源文件夹中的文件更新了(通过最后修改时间比较),就会将该文件复制到目标文件夹中。