介绍
这篇文章将为大家详细讲解有关python怎么实现任意位置文件分割,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<强>应用场景强>
在嵌入式开发中,常常需要将一个二进制文件分割成多个文件,或者将一个二进制的某块区域抓成一个单独文件。本篇博客以python为例,实现了以上需求,
<强>实现代码强>
# !/usr/bin/python “““ 。/file_split.py,, just for 测试; “““ import 系统 import 操作系统 import 再保险 得到os.path import 加入 得到array import 数组 import datetime 时间=ORIGINAL_BIN & # 39; test.bin& # 39; 时间=SPLIT_BIN1 & # 39;输出/1.本# 39; 时间=SPLIT_BIN2 & # 39;输出/2.本# 39; 时间=SPLIT_BIN3 & # 39;输出/3.本# 39; def 主要(argv): print 才能“时间:“,datetime.datetime.now () print 才能“平台:“os.name if 才能;(os.path.exists(& # 39;输出# 39;),==,False): ,,,os.mkdir(& # 39;输出# 39;) originalBin =,开放才能(ORIGINAL_BIN & # 39; rb # 39;) .read () originalBin 才能=,数组(& # 39;c # 39;,, originalBin) 时间=bin1 才能;originalBin [0 x0:0x4000] 开放才能(SPLIT_BIN1 & # 39; wb + & # 39;) .write (bin1) 时间=bin2 才能;originalBin [0 x130000:0x130000 + 0 x2000] 开放才能(SPLIT_BIN2 & # 39; wb + & # 39;) .write (bin2) 时间=bin3 才能;originalBin [0 x160000:0x160000 + 0 x2000] 开放才能(SPLIT_BIN3 & # 39; wb + & # 39;) .write (bin3) ,return 0 if __name__ ==, & # 39; __main__ # 39;: 主要的才能(sys.argv)
<强>代码解析强>
if (os.path.exists(& # 39;输出# 39;),==,False): os.mkdir才能(& # 39;输出# 39;)
检查当前目录是否存在输出目录,如果没有就创建输出目录,文件分割后的本就存放在输出目录;
originalBin =,开放(ORIGINAL_BIN & # 39; rb # 39;) .read () originalBin =,阵列(& # 39;c # 39;,, originalBin)
调用开放打开ORIGINAL_BIN路径的文件,并且读到originalBin这个变量中;将originalBin中的数据转化成数组,并且数组单个元素为字符单字节;
bin1 =, originalBin [0 x0:0x4000] 打开(SPLIT_BIN1 & # 39; wb + & # 39;) .write (bin1)
将originalBin数组中的0 x0到0 x4000地址的数据初始化给bin1,然后创建SPLIT_BIN1路径的文件,将bin1写入该文件;bin2和bin3同理。
关于“python怎么实现任意位置文件分割”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。