Python编写一个简单的文件备份程序
发布时间:2023-12-04 14:12:11
这是一个简单的文件备份程序,用于将源文件夹下的所有文件备份到目标文件夹。
import os
import shutil
def backup_files(source_folder, target_folder):
# 检查源文件夹是否存在
if not os.path.isdir(source_folder):
print("源文件夹不存在")
return
# 创建目标文件夹
os.makedirs(target_folder, exist_ok=True)
# 遍历源文件夹下的所有文件和子文件夹
for root, dirs, files in os.walk(source_folder):
for file in files:
# 构建源文件和目标文件的路径
source_path = os.path.join(root, file)
target_path = os.path.join(target_folder, file)
# 复制源文件到目标文件夹
shutil.copy2(source_path, target_path)
print(f"已备份文件: {source_path} -> {target_path}")
# 使用示例
source_folder = "/path/to/source/folder"
target_folder = "/path/to/target/folder"
backup_files(source_folder, target_folder)
在使用程序之前,需要将source_folder和target_folder替换为实际的文件夹路径。
这个程序基于os和shutil模块。首先,我们检查源文件夹是否存在。如果不存在,打印错误消息并终止程序。然后,我们创建目标文件夹,如果它不存在的话。然后,我们使用os.walk遍历源文件夹下的所有文件和子文件夹。对于每个文件,我们构建源文件和目标文件的路径,并使用shutil.copy2函数将源文件复制到目标文件夹中。最后,我们打印已备份的文件路径。
使用时,将需要备份的文件夹路径传递给source_folder参数,将备份文件夹路径传递给target_folder参数。程序将会递归地备份源文件夹下所有的文件和子文件夹。
例如,假设源文件夹为/home/user/data,目标文件夹为/backup/data:
source_folder = "/home/user/data" target_folder = "/backup/data" backup_files(source_folder, target_folder)
这样程序将会备份/home/user/data下的所有文件和子文件夹到/backup/data中。可以根据实际需要将路径修改为自己的文件夹路径。
