import sys,os
kilobytes =1024
megabytes = kilobytes*1000
chunksize =int(200*megabytes)#default chunksize
def split(fromfile,todir,chunksize=chunksize):
if not os.path.exists(todir):#check whether todir exists or not
os.mkdir(todir)
else:
for fnamein os.listdir(todir):
os.remove(os.path.join(todir,fname))
partnum =0
inputfile =open(fromfile,'rb')#open the fromfile
while True:
chunk = inputfile.read(chunksize)
if not chunk:#check the chunk is empty
break
partnum +=1
filename = os.path.join(todir,('part%04d'%partnum))
fileobj =open(filename,'wb')#make partfile
fileobj.write(chunk)#write data into partfile
fileobj.close()
return partnum
if __name__=='__main__':
fromfile =input('File to be split?')
todir =input('Directory to store part files?')
chunksize =int(input('Chunksize to be split?'))
absfrom,absto =map(os.path.abspath,[fromfile,todir])
print('Splitting',absfrom,'to',absto,'by',chunksize)
try:
parts = split(fromfile,todir,chunksize)
except:
print('Error during split:')
print(sys.exc_info()[0],sys.exc_info()[1])
else:
print('split finished:',parts,'parts are in',absto)
File to be split?輸入要分塊的文件
Directory to store part files?輸入存放分塊的文件夾
Chunksize to be split?輸入每個分塊的大小