文件备份

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

 

posted @ 2022-11-12 23:29  㞢卄BYZ  阅读(278)  评论(0)    收藏  举报