求助:Python中拆分以0x9d分隔的多合一文件的简便方法
拆分0x9d分隔的合并文件
直接用二进制模式处理即可,核心是用b'\x9d'作为分隔符拆分内容,以下是具体步骤和代码:
- 以二进制模式打开目标文件,读取全部内容
- 用分隔符分割内容,得到各个子文件的二进制数据列表
- 遍历列表,跳过空的字节串(避免生成空文件),将每个子数据块保存为独立文件
示例代码:
# 打开合并文件(二进制模式) with open("merged_file.bin", "rb") as f: content = f.read() # 用0x9d的二进制形式分割内容 split_parts = content.split(b'\x9d') # 逐个保存子文件 for idx, part in enumerate(split_parts): # 跳过空内容块 if not part: continue # 按序号命名子文件,比如subfile_1.bin、subfile_2.bin with open(f"subfile_{idx+1}.bin", "wb") as sub_f: sub_f.write(part)
注意事项:
- 如果子文件本身是文本文件,保存后可以尝试用合适的编码(比如GBK、ASCII等)打开,因为原文件无法用UTF-8读取,可能子文件采用的是其他编码
- 如果合并文件中包含子文件的文件名信息,需要根据实际情况调整代码提取文件名,上述代码默认按序号命名
内容的提问来源于stack exchange,提问作者CuriousCook
相关产品推荐
相关产品推荐

