编写程序,实现一个具有备份文件与文件夹功能的备份工具。python
时间: 2024-03-18 10:41:13 浏览: 113
好的,我可以为您提供一个简单的Python程序,它可以实现文件和文件夹的备份功能。以下是程序代码:
```python
import os
import shutil
import datetime
def backup_folder(src_folder, dst_folder):
# 获取当前时间
today = datetime.date.today()
# 备份文件夹的名称
backup_folder_name = src_folder + '_' + str(today.year) + '-' + str(today.month) + '-' + str(today.day)
# 创建备份文件夹
os.makedirs(os.path.join(dst_folder, backup_folder_name))
# 遍历源文件夹中的所有文件和子文件夹
for root, dirs, files in os.walk(src_folder):
for file in files:
# 源文件的完整路径
src_file_path = os.path.join(root, file)
# 备份文件的完整路径
dst_file_path = os.path.join(dst_folder, backup_folder_name, file)
# 复制文件到备份文件夹
shutil.copy(src_file_path, dst_file_path)
for dir in dirs:
# 源文件夹的完整路径
src_dir_path = os.path.join(root, dir)
# 备份文件夹的完整路径
dst_dir_path = os.path.join(dst_folder, backup_folder_name, dir)
# 创建备份文件夹的子文件夹
os.makedirs(dst_dir_path)
def backup_file(src_file_path, dst_folder):
# 获取当前时间
today = datetime.date.today()
# 备份文件的名称
backup_file_name = os.path.basename(src_file_path) + '_' + str(today.year) + '-' + str(today.month) + '-' + str(today.day)
# 备份文件的完整路径
dst_file_path = os.path.join(dst_folder, backup_file_name)
# 复制文件到备份文件夹
shutil.copy(src_file_path, dst_file_path)
while True:
print("请选择您要执行的操作:")
print("1. 备份文件夹")
print("2. 备份文件")
print("0. 退出程序")
choice = input("请输入数字进行选择:")
if choice == "1":
src_folder = input("请输入要备份的文件夹路径:")
dst_folder = input("请输入备份文件夹的路径:")
backup_folder(src_folder, dst_folder)
print("文件夹备份成功!")
elif choice == "2":
src_file_path = input("请输入要备份的文件路径:")
dst_folder = input("请输入备份文件夹的路径:")
backup_file(src_file_path, dst_folder)
print("文件备份成功!")
elif choice == "0":
print("程序已退出。")
break
else:
print("输入有误,请重新输入。")
```
您可以根据需要在程序中添加其他功能。希望能对您有所帮助!
阅读全文