利用PYTHON编写程序,实现一个具有备份文件与文件夹功能的备份工具
时间: 2024-02-29 15:51:26 浏览: 128
好的,下面是Python实现备份工具的代码:
```python
import os
import shutil
import time
# 备份源文件夹路径
source_folder = 'C:/Users/username/source_folder'
# 备份目标文件夹路径
target_folder = 'C:/Users/username/backup_folder'
# 备份文件名前缀
backup_prefix = 'backup_'
# 获取当前时间字符串
def get_current_time_str():
return time.strftime('%Y-%m-%d %H-%M-%S', time.localtime())
# 备份指定文件夹
def backup_folder(source_folder, target_folder, backup_prefix):
# 组合备份文件夹路径
backup_folder = os.path.join(target_folder, backup_prefix + get_current_time_str())
# 创建备份文件夹
os.makedirs(backup_folder)
# 备份文件夹下的所有文件和子文件夹
for root, dirs, files in os.walk(source_folder):
for file in files:
source_file = os.path.join(root, file)
target_file = os.path.join(backup_folder, os.path.relpath(source_file, source_folder))
shutil.copy2(source_file, target_file)
# 备份指定文件
def backup_file(source_file, target_folder, backup_prefix):
# 组合备份文件路径
backup_file = os.path.join(target_folder, backup_prefix + get_current_time_str() + '_' + os.path.basename(source_file))
# 复制文件到备份文件夹
shutil.copy2(source_file, backup_file)
# 备份入口
def backup(source, target_folder, backup_prefix):
# 判断备份源是文件夹还是文件
if os.path.isdir(source):
backup_folder(source, target_folder, backup_prefix)
elif os.path.isfile(source):
backup_file(source, target_folder, backup_prefix)
# 测试代码
if __name__ == '__main__':
backup(source_folder, target_folder, backup_prefix)
```
上面的代码实现了一个备份工具,支持备份文件和文件夹,可以按照指定的前缀和时间格式命名备份文件夹或备份文件,备份文件夹会备份文件夹下的所有文件和子文件夹。
你可以根据需要修改备份源和备份目标文件夹的路径,以及备份文件名前缀。
阅读全文