python---文件备份

文件的备份需要用到 os模块 os.path模块 为了防止文件重名需要用的 time模块的时间戳或是uuid模块,还需要用的IO流全局函数open()

 如果对模块中的方法不熟可以查看: python----常用模块(常用方法)_m0_55785131的博客-CSDN博客

全局函数:

https://blog.csdn.net/m0_55785131/article/details/121286007

#导入需要的模块
import os
import os.path
import uuid
#自定义函数模块
def FileBackup(url,d_url):
    #先获取当前路径的文件,返回的是一个列表
    File = os.listdir(url)
    #遍历当前的得到的列表
    for i in File:
        #将遍历出来的文件名拼接成绝对路径
        FileReal = url + "\\" + i
        #判断该绝对路径是否为文件
        if os.path.isfile(FileReal):
            #如果该路径是一个文件则读取该文件的内容 以字节的形式
            file = open(FileReal,"rb")
            # 将该路径的文件名用切片的方法切出来 并拼接到备份路径上,为了防止文件重名用uuid模块
            folder = d_url + "\\" + uuid.uuid4().hex + FileReal[FileReal.rfind("\\")+1::]
            # 打开备份文件 并给定一个写入权限 以字节方式
            d_file = open(folder,"wb")
            #向备份文件中写入需要备份的文件
            d_file.write(file.read())
            #写入之后关闭Io流
            file.close()
            d_file.close()
            #打印被备分的文件
            print(folder)
        #判断该路径是否是目录
        elif os.path.isdir(FileReal):
            #如果是目录则递归调用
            FileBackup(FileReal,d_url)
        else:
            #如果无法访问则输出
            print("!!!")
    print("备份完成!!!")
#主函数
if __name__ == '__main__':
    url = input("输入需要备份文件的路径:")
    d_url = input("输入备份的路径:")
    FileBackup(url,d_url)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值