用python写的文件分割工具
废话不多直接上代码。
#!/usr/bin/python2.7
import os
import sys
import os.path
def splitfile(path, size):
if not os.path.isfile(path):
print(path, 'is not a file!!')
sys.exit()
src_file = open(path, 'rb')
src_dir, src_name = os.path.split(path)
src_size = os.path.getsize(path)
split_namber = (src_size + size - 1) / size
print(src_dir, src_name, src_size, split_namber)
index = 0
while index < split_namber:
if src_dir == '':
src_dir = '.'
dst_filename = src_dir + '/' + str(index) + '_' + src_name
dst_file = open(dst_filename, 'wb')
src_file.seek((size * index), os.SEEK_SET)
copysize = 0
size_unit = 0
while copysize < size:
if copysize + 1024 <= size:
size_unit = 1024
else:
size_unit = size - copysize
read_data = src_file.read(size_unit)
if read_data < 0:
break;
dst_file.write(read_data)
copysize += size_unit
dst_file.close()
print(os.path.getsize(dst_filename), index, size)
index = index + 1
src_file.close()
print('\tdone!!!')
print(sys.argv)
Size = int(sys.argv[2]) * 1024 * 1024
splitfile(sys.argv[1], Size)
主要用了文件对象的几个操作函数,以及几个os.path下面的几个函数
os.path.getsize(path) //获取路径文件的大小
os.path.split(path) //分割路径为两部分 如 a/b/c.txt 将会被分割成 (a/b , c.txt)