首页 > 其他分享 >文件备份

文件备份

时间:2022-11-12 23:45:31浏览次数:42  
标签:文件 old name index 备份 备份文件 new

需求:用户输入当前目录下任意文件名,程序完成对该文件的备份功能(备份文件名为xx[备份]后缀,列如:test[备份].txt)

1、 步骤

  1.接受用户输入的文件名

  2.规划备份文件名

  3.备份文件写入数据

2、代码实现

# 1.用户输入目标文件
old_name = input('请输入需要备份的文件名:')
# print(old_name)
# print(type(old_name))

# 2.规划备份文件的名字
# 2.1 提取后缀 -- 字符串查找某个子串rfind
index = old_name.rfind('.')
# print(index)

# 4. 判断文件名是否有效,有效才备份;无效:.txt
if index > 0:
    # 提取后缀
    postfix = old_name[index]

# 2.2 组织新名字 = 原名字 + [备份] + 后缀
# 原名字就是字符串中的一部分字串 -- 切片【开始:结束:步长】
# print(old_name[:index])  # 原名
# print(old_name[index:])  # 后缀
# new_name = old_name[:index] + '[备份]' + old_name[index:]  # 未加判断文件之前使用
new_name = old_name[:index] + '[备份]' + postfix
print(new_name)

# 3. 备份文件写入数据(数据和原文件一样)
# 3.1 打开源文件 和 备份文件
old_f = open(old_name, 'rb')
new_f = open(new_name, 'wb')

# 3.2 原文件读取,备份文件写入
# 如果不确定目标文件大小,循环读取写入,当读取出来的数据没有了终止循环
while True:
    con = old_f.read(1024)
    if len(con) == 0:
        # 表示读取完成
        break

    new_f.write(con)

# 3.3 关闭文件
old_f.close()
new_f.close()

 

标签:文件,old,name,index,备份,备份文件,new
From: https://www.cnblogs.com/yz-b/p/16885139.html

相关文章

  • C# 文件同步工具(复制带进度显示)
    usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Runtime.InteropServices;usingSystem.Text;namespaceSyncTool{internalc......
  • java注入配置文件
    `packagecom.xkcoding.properties.controller;importcn.hutool.core.lang.Dict;importcom.xkcoding.properties.property.ApplicationProperty;importcom.xkcoding.......
  • Python_解决脚本执行过程中,文件被多次读取的问题
    今天在封装pandas过程中,发现封装脚本的执行耗时明显高于未封装的脚本复盘问题importtimeclassDemo:defmock_read_excel(self):print("读取文件")......
  • Redis配置文件介绍
     Redis配置文件介绍自定义目录:/myredis/redis.conf1.1.  ###Units单位###配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit大小写不敏感 1.2.......
  • ffmpeg修改文件格式
    http://ffmpeg.org/官网下载windows版本进这个文件夹随便找一个格式的文件我这里以mp4放在这个文件夹里面然后状态栏输入cmd输入下方命令代码ffmpeg......
  • 文件批量重命名
    批量重命名一、背景我从网上下载了一部电视剧《琅琊榜》,存放在了E:/琅琊榜目录下:但有没有发现片名好长好长,这严重影响了我的观看体验,我该怎样才能将片名中的「未删减......
  • 【FineReport企业日常问题 3.0】帆软Finereport跨大版本打开设计文件(包括cpt,frm等)
    文章目录​​场景​​​​分析探索​​​​实现方法​​​​在这里插入图片描述​​​​总结​​场景一般我们做报表开发的时候,帆软服务器上的版本(包括小版本)最好和本地设......
  • 将 .gradle文件 从C盘移动到D盘
    参考资料:http://e.betheme.net/article/show-38049.html?action=onClickandroidstudio默认.gradle文件夹的路径是C:\Users\登录名.gradle目录,所以只需要在环境变量里面......
  • mysql系列14---docker容器下mysql数据库还原与备份
    一、数据库定时备份1、编写mysql在docker容器中备份的shell脚本:#!/bin/bash#docker启动的mysql备份mysql_user="root"#数据库密码,注意自行修改mysql_password="1234......
  • linux 中shell 脚本将 gff文件转换为bed文件
     001、[b20223040323@admin1test]$ls##测试gff文件exons_only.gff[b20223040323@admin1test]$gff2bed<exons_only.gff>exons_only.bed##gff2bed模块......