Python3:像Python2一样以“rb”模式读取文件

2024-09-30 01:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一些midi文件和an older Python 2 library that transforms midi files to wav files。回到过去,Python 2使用rb模式读取包含字节信息的原始字符串,例如:

'MThd\x00\x00\x00'

相比之下,Python 3将数据读取为字节:

b'MThd\x00\x00\x00'

作为参考,Python3读取的完整示例midi文件打印如下:

b'MThd\x00\x00\x00\x06\x00\x01\x00\x05V"MTrk\x00\x00\x00\x1d\x00\xffQ\x03\x07\xa1 \x00\xffX\x04\x04\x02\x18\x08\x82\x93P\xffX\x04\x01\x00\x18\x08\x01\xff/\x00MTrk\x00\x00\x00-\x00\xff\x03\x02p1\x00\xc0\x00\x00\x90<\x0f\xa2:<\x00\xa2:>\x0f\xa2:>\x00\xa2:@\x0f\xa2:@\x00\xa2:A\x0f\xa2:A\x00\x01\xff/\x00MTrk\x00\x00\x00-\x00\xff\x03\x02p2\x00\xc1\x00\x00\x91@\x0f\xa2:@\x00\xa2:A\x0f\xa2:A\x00\xa2:C\x0f\xa2:C\x00\xa2:E\x0f\xa2:E\x00\x01\xff/\x00MTrk\x00\x00\x00\x1d\x00\xff\x03\x02tr\x00\xc2\x00\x00\x920\x0f\xa2:0\x00\xe7.$\x0f\xa2:$\x00\x01\xff/\x00MTrk\x00\x00\x00M\x00\xff\x03\x02no\x00\xc3\x00\x00\x93\x08\x04\x88N\x08\x00\x99l\t\x04\x88N\t\x00\x99l\n\x04\x88N\n\x00\x99l\x0b\x04\x88N\x0b\x00\x99l\x0c\x04\x88N\x0c\x00\x99l\r\x04\x88N\r\x00\x99l\x0e\x04\x88N\x0e\x00\x99l\x0f\x04\x88N\x0f\x00\x01\xff/\x00'

有没有办法让Python3的'rb'读取选项返回与Python2的'rb'读取选项相同的数据?在此问题上的任何帮助都将不胜感激


Tags: 文件midix00x04x03x01xffrb

热门问题