Quick actions

cmd+k|ctrl+k

Navigation

Languages

二进制文件分割器

Snippet info

Language

Python

Visibility

public

Author

jiemnij

Created

2017-12-08T02:51:42Z

Updated

2018-01-19T04:38:10Z

#encoding: GBK
import os
from struct import *
import sys

print("1.py [文件名称] [第一个大小] <第二块大小> ...<第n块大小> ")
if (len(sys.argv) < 3):
	print("格式错误")
	exit()
file_name = sys.argv[1]
file_size = os.path.getsize(file_name)
print('文件名称 = %s' % file_name)
print('文件大小 = %d Bytes'% file_size)

del sys.argv[0]	#删除执行文件名
del sys.argv[0]	#删除读取文件名

file = open(file_name, 'rb')
file_num = 1
for i in sys.argv:
	if (file_size == 0):
		break
	size = int(i)
	if (file_size < size):
		size = file_size
	file_size -= size
	print("分割第%d快,大小%d Bytes" % (file_num, size))
	write_name = file_name + "%d" % (file_num)
	wf = open(write_name, "wb")
	wf.write(file.read(size))
	wf.close()
	file_num += 1

if file_size > 0:
	print("分割第%d快,大小%d Bytes" % (file_num, file_size))
	write_name = file_name + "%d" % (file_num)
	wf = open(write_name, "wb")
	wf.write(file.read(file_size))
	wf.close()
file.close()
INFO