编写python程序,实现一个具有备份功能与文件夹功能的备份工具
时间: 2024-02-26 21:56:36 浏览: 78
好的,下面是一个简单的 Python 程序,实现了备份和文件夹功能:
```python
import shutil
import os
import datetime
def backup(source, destination):
"""
将 source 文件或文件夹备份到 destination 文件夹中
"""
if os.path.isdir(source):
# 如果 source 是一个文件夹,则递归备份文件夹下所有文件
for item in os.listdir(source):
backup(os.path.join(source, item), destination)
elif os.path.isfile(source):
# 如果 source 是一个文件,则备份该文件
filename, extension = os.path.splitext(source)
backup_filename = filename + "_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") + extension
shutil.copyfile(source, os.path.join(destination, backup_filename))
def create_folder(path):
"""
创建文件夹,如果文件夹已存在,则跳过
"""
if not os.path.exists(path):
os.makedirs(path)
# 测试代码
source = "/path/to/source"
destination = "/path/to/destination"
create_folder(destination)
backup(source, destination)
```
该程序的作用是将指定的文件或文件夹备份到指定的目录中。如果备份的是一个文件夹,则会递归备份文件夹下所有文件。备份文件名格式为原文件名加上当前时间,例如 `filename_20210819123456.txt`。
在程序中,`backup()` 函数实现了备份功能,`create_folder()` 函数实现了创建文件夹的功能。在测试代码中,我们指定了备份源和备份目标,并调用了 `create_folder()` 和 `backup()` 函数进行备份。
需要注意的是,该程序仅实现了基本的备份功能,对于大型文件或文件夹的备份,可能需要进行优化。此外,备份文件的命名方式也可以根据需要进行修改。
阅读全文