Python复制文件内容的代码

复制文件内容到新的文件里

先来个简单版,了解一下大概流程
大概流程:
1.打开被复制的那个文件
2.读取数据
3.创建新的文件
4.写入读取出来的内容
5.关闭文件

下面是代码演示:

# 1用户输入要复制的文件名字
old_file_name = input('输入要复制的文件名字')

# 2打开要复制的文件
old_file = open(old_file_name, 'r',encoding='utf-8')

# 3读取要复制的文件里的内容
content = old_file.read()

# 4创建一个新的文件
new_file = open('[备份]' + old_file_name, 'w',encoding='utf-8')

# 5把之前复制的内容写到新的文件里
new_file.write(content)

# 6所有的文件 都要关闭
old_file.close()
new_file.close()

这样虽然是成功了,但是文件名字好像不对劲;网上见到的的一般是 ‘xxx[附件].txt’ 这样的名字,那么我们只要稍微加一点代码就能实现。
要求在原名的后面,后缀的前面,添加[附件] 比如: 123.txt → 123[附件].txt

# 1用户输入要复制的文件名字
old_file_name = input('输入要复制的文件名字')

# 2打开要复制的文件
old_file = open(old_file_name, 'r', encoding='utf-8')

# 3读取要复制的文件里的内容
content = old_file.read()

# 4创建一个新的文件
# 4.1获取原文件的后缀的点的下标
old_index = old_file_name.rfind('.')
if old_index != -1:
    # 如果点存在 拼接新的文件名字  123 +[附件] + .txt
    new_file_name = old_file_name[:old_index] + '[附件]' + old_file_name[old_index:]
else:
    # 如果没有下标 直接拼接
    new_file_name = old_file_name + '[附件]'
# 4.2按照新的名字 打开文件
new_file = open(new_file_name, 'w', encoding='utf-8')

# 5把之前复制的内容写到新的文件里
new_file.write(content)

# 6所有的文件 都要关闭
old_file.close()
new_file.close()

如代码所示:我们只需要找到后缀的那个’点’然后根据下标,锁定位置,然后加上想加的文字就完成了.

完善:
那现在还有一个问题,如果说要复制的文件很大的时候,比如是小说,或者别的数据,那我们的代码可能会出些问题 , 在稍作修改 , 把读取文件的read函数,加上参数:read(1024) 看代码 :

# 1用户输入要复制的文件名字
old_file_name = input('输入要复制的文件名字')

# 2打开要复制的文件
old_file = open(old_file_name, 'r', encoding='utf-8')

# 4创建一个新的文件
# 4.1获取原文件的后缀的点的下标
old_index = old_file_name.rfind('.')
if old_index != -1:
    # 如果点存在 拼接新的文件名字  123 +[附件] + .txt
    new_file_name = old_file_name[:old_index] + '[附件]' + old_file_name[old_index:]
else:
    # 如果没有下标 直接拼接
    new_file_name = old_file_name + '[附件]'
# 4.2按照新的名字 打开文件
new_file = open(new_file_name, 'w', encoding='utf-8')

while True:
    # 3读取要复制的文件里的内容 每次读1024字节 1kb
    content = old_file.read(1024)
    # if len(content) ==0 :
    # if not content:
    if content == '':
        # 如果返回的是空 代表全部读完,结束循环
        break
    # print(content)
    # 5把之前复制的内容写到新的文件里
    new_file.write(content)

# 6所有的文件 都要关闭
old_file.close()
new_file.close()

这样一个简单的小案例就完成了.

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值