하나의 큰 파일을 작은 크기(10MB) 크기로 잘라서 여러개 파일로 저장하는 기능이다.
-------------------------------------
import os
def file_split(filepath1, filename1):
# 예: 10MB
size_limit = 1024*1024*10
with open (filepath1 + filename1, 'rb') as fi:
i = 0
b = fi.read(size_limit)
while b != b'':
with open (filepath1 + filename1 + '.' + str(i), 'wb') as fo:
fo.write(b)
fo.close()
i = i + 1
b = fi.read(size_limit)
fi.close()
------------------------------------------
여러 개 파일로 나누어서 저장된 파일을 다시 하나의 큰 파일로 이어 붙이는 기능이다.
------------------------------------------
def file_join(filepath1, filename1):
filepathname = filepath1 + filename1
with open(filepathname, 'wb') as fo:
i = 0
while os.path.exists(filepathname + '.' + str(i)) :
with open(filepathname + '.' + str(i), 'rb') as fi:
fo.write(fi.read())
i = i + 1
fo.close()
--------------------------------------------
테스트를 수행한다.
--------------------------------------------
if __name__ == "__main__" :
file_split('d:/dev/', '큰 파일.pdf')
file_join('d:/dev/', '큰 파일.pdf')