如何用Python实现DOS Copy /b命令的二进制文件合并功能?
Python实现二进制文件合并(替代DOS copy /b)
要在Python里实现和DOS copy /b完全一致的二进制文件合并,直接操作字节流即可,不需要依赖第三方库,核心逻辑是按顺序读取源文件的原始字节并写入目标文件:
实现代码
def binary_merge(source_files, output_file): # 以二进制写入模式打开目标文件(存在则覆盖) with open(output_file, 'wb') as out_f: for src_path in source_files: # 以二进制读取模式打开源文件 with open(src_path, 'rb') as in_f: # 分块读取写入,适配大文件场景 chunk_size = 4096 while chunk := in_f.read(chunk_size): out_f.write(chunk) # 按需求合并xml和pdf:xml在前,pdf在后 binary_merge(['你的工单.xml', '待打印文件.pdf'], '带工单的打印文件.pdf')
关键说明
- 使用
rb/wb模式确保文件以原始二进制格式处理,完全避免文本编码转换问题,和copy /b的行为一致。 - 分块读取(4096字节)是为了避免大文件一次性加载占用过多内存,小文件可以直接用
in_f.read()读取全部内容,效果相同。 - 该方法可以直接集成到现有Python脚本中,不需要额外安装依赖。
内容的提问来源于stack exchange,提问作者kscott
相关产品推荐
相关产品推荐

