欢迎访问宙启技术站
智能推送

使用Python编写一个简单的文件备份工具

发布时间:2023-12-04 14:04:10

文件备份工具是用来将指定的文件或目录进行备份的工具。下面是一个使用Python编写的简单文件备份工具的示例代码:

import shutil
import os
import datetime

def backup_file(source, destination):
    if not os.path.exists(destination):
        os.makedirs(destination)
    
    # 生成备份文件名
    date_time = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    backup_file_name = os.path.join(destination, f"{date_time}.bak")
    
    try:
        shutil.copy2(source, backup_file_name)
        print(f"文件备份成功,备份文件名:{backup_file_name}")
    except FileNotFoundError:
        print(f"文件不存在:{source}")
    except Exception as e:
        print(f"文件备份失败:{str(e)}")

# 使用示例
if __name__ == "__main__":
    # 要备份的文件路径
    source_file = "source.txt"
    # 备份文件存放路径
    backup_folder = "./backup"
    
    backup_file(source_file, backup_folder)

上述代码中,backup_file函数用于备份文件。它接收两个参数,source是要备份的文件或目录的路径,destination是备份文件存放的文件夹路径。函数首先判断备份文件夹是否存在,如果不存在则创建。然后,使用datetime模块生成当前时间作为备份文件名,并将备份文件名与目标文件夹路径拼接得到完整的备份文件路径。随后,利用shutil模块的copy2函数进行文件备份操作,将源文件复制到备份文件路径下。最后,打印备份结果。

在示例的if __name__ == "__main__"语句块中,我们指定了要备份的源文件路径,以及备份文件存放的文件夹路径。运行时,会将源文件备份到指定的文件夹中,并输出备份结果。

运行示例代码后,会在指定的./backup文件夹下生成一个备份文件,文件名类似于20221231235959.bak,其中的数字代表备份文件生成的日期和时间。如果需要备份多个文件,可以多次调用backup_file函数即可。如果源文件不存在,则会输出相应的错误信息。