利用线程对文件进行分割
Posted yongqi-wang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用线程对文件进行分割相关的知识,希望对你有一定的参考价值。
情景:
将一个文件进行分割以字节进行平均分割成2份存入两个文件:
import os import multiprocessing #读取文件的大小 number=os.path.getsize(‘dict.txt‘) print(number) #读前半部分 def file_up(number): n = number // 2 #文件拷贝模板 with open(‘dict.txt‘) as up: with open(‘dict_up‘,‘w‘) as wup: #分割文件进行读取写入(当文件过大时不可能将其全部读取出来必须分割) while n>=1024: wup.write(up.read(1024)) n-=1024 else: wup.write(up.read(n)) return #读前半部分 def file_down(number): n = number // 2 #文件拷贝 with open(‘dict.txt‘) as down: #分割文件进行读取写入(当文件过大时不可能将其全部读取出来必须分割) down.seek(number//2) with open(‘dict_down‘,‘w‘) as wdown: while n>=1024: wdown.write(down.read(1024)) n-=1024 else: wdown.write(down.read(n)) return #在wds和mac系统下必须用main包裹进程否则报错(这与系统差异有关) if __name__ == ‘__main__‘: #创建线程对象 up=multiprocessing.Process(target=file_up,args=(number,)) down=multiprocessing.Process(target=file_down,args=(number,)) #启动线程 up.start() down.start() #结束线程(也叫堵塞线程) up.join() down.join()
以上是关于利用线程对文件进行分割的主要内容,如果未能解决你的问题,请参考以下文章