需求:用户输入当前目录下任意文件名,程序完成对该文件的备份功能(备份文件名为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