标签:__name__ main int else while 文件的 不可 targe 线程
情景:
将一个文件进行分割以字节进行平均分割成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()
标签:__name__ main int else while 文件的 不可 targe 线程
原文地址:https://www.cnblogs.com/yongqi-wang/p/13284841.html