pycharm中的mp3文件备份,文件对象.read():‘gbk‘ codec can‘t decode byte 0xff in position 0: illegal multibyte seq

"""
文件备份

"""
# 1.用户输入目标文件 sound.mp3
old_name = input('请输入您要备份的文件名')
print(old_name)
# type(old_name)
"""
# 2. 规划备份文件的名字
    2.1提取目标文件后缀点的下表 -- 找到名字最后的点 -- 最右侧的点才是后缀的点-- 字符串查找某个子串
    
    2.2组织备份的文件名,xx[备份]后缀
        新名字 = 原名字 + [备份] + 后缀
        原名字就是字符串中的一部分子串 -- 切片[开始:结束:步长]
"""
print('规划文件备份的名字')
index = old_name.rfind('.')  # 最后一个 . 的位置
print('找到最后一个.的位置上')
print(index)  # 9
print('用切片方法提取原始文件名')
print(old_name[0:index:1])  # sound.txt
print('后缀名')
print(old_name[index::1])
print('组合新名字')
new_name = old_name[0:index:1] + '[备份]' + old_name[index::1]
print(new_name)
# 3.备份文件写入数据(数据和原文件一样)
#   3.1打开源文件和备份文件
old_f = open(old_name, 'rb')  # 用二进制打开
new_f = open(new_name, 'wb')  # 二进制写的形式进行写入

#   3.2将源文件的数据写入备份文件
# 如果不确定目标文件大小;循环读取写入,当读取出来的数据没有了终止循环
while True:
    con_old = old_f.read(1024)
    if len(con_old) == 0:  # 判断剩余字节数是否为零,从而判断是否还有值
        break
    new_f.write(con_old)  # 写入新文件内容
#   3.3 关闭文件
old_f.close()
new_f.close()
f = open(new_name, 'r')
con = f.read()
print(con)
f.close()

在这里插入图片描述
⽂件对象.read(num)
num表示要从⽂件中读取的数据的⻓度(单位是字节),如果没有传⼊num,那么就表示读取⽂
件中所有的数据。
read()对mp3中的文件不能读取

读取MP3文件看参考:https://blog.youkuaiyun.com/itnerd/article/details/100561006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

b可为

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值