python读写文件

python读写txt文件 

# python写txt
wav_path = 'machine_gun.wav'
data, fs = librosa.load(file_path, sr=None, mono=False)
data = data[0, :]
data = [int(i * 32767) for i in data]

wr_path = 'machine_gun.txt'
with open(wr_path , 'w') as file:
    for i in range(len(data)):
        file.write(str(data[i]) + '\n')
file.close()


# pyhton读txt
rd_path = 'machine_gun.txt'
txt_data = []
with open(rd_path , 'r') as file:
    lines = file.readlines()
    for line in lines:
        outdata.extend([int(line.strip())]) # strip()去除换行
file.close()

python读写bin文件

需求:将Test文件夹下所有bin文件中凡是出现128的统一替换成129。

import os
root = 'pattern_0513'
for file in os.listdir(root):
    if file.endswith('.bin'):
        src_path = os.path.join(root, file)
        src_file = open(src_path, 'rb')
        dst_path = os.path.join(root, file.split('.')[0] + '_dst'+'.bin')
        dst_file = open(dst_path, 'wb')
        for i in range(os.path.getsize(src_path)):
            # 每次读1个字节,读出类型为bytes字节数组,按大端模式转换成整形,big即大端模式,MSB最高有效位在低地址
            data = int.from_bytes(src_file.read(1), byteorder = 'big')
            if data == 128:
                data = 129
                # 将整形按大端模式转换成bytes字节数组
                dst_file.write(data.to_bytes(1, 'big'))
            else:
                dst_file.write(data.to_bytes(1, 'big'))
        src_file.close()
        dst_file.close()
常见的file操作模式:
  • read 打开&读取
    r:打开指定文件,只用于reading。文件指针在开头。python的默认模式。若无指定文件则报错
    –·rb:以二进制执行的r

  • write 打开&覆盖
    – w:打开指定文件,只用于writing。如果文件存在,则先删除(表里所有的)已有数据,如果不存在,则创建;
    – wb:以二进制执行的w

  • append 打开&添加
    – a:打开指定文件,用于appending。如果文件存在,指针放在结尾,如果文件不存在,则创建;
    ab:以二进制执行的a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

东城青年

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

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

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

打赏作者

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

抵扣说明:

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

余额充值