匠吉游戏
您的当前位置:首页Python多进程分块读取超大文件的方法

Python多进程分块读取超大文件的方法

来源:匠吉游戏


本文实例讲述了Python多进程分块读取超大文件的方法。分享给大家供大家参考,具体如下:

读取超大的文本文件,使用多进程分块读取,将每一块单独输出成文件

# -*- coding: GBK -*-
import urlparse
import datetime
import os
from multiprocessing import Process,Queue,Array,RLock
"""
多进程分块读取文件
"""
WORKERS = 4
BLOCKSIZE = 100000000
FILE_SIZE = 0
def getFilesize(file):
 """
 获取要读取文件的大小
 """
 global FILE_SIZE
 fstream = open(file,'r')
 fstream.seek(0,os.SEEK_END)
 FILE_SIZE = fstream.tell()
 fstream.close()
def process_found(pid,array,file,rlock):
 global FILE_SIZE
 global JOB
 global PREFIX
 """
 进程处理
 Args:
 pid:进程编号
 array:进程间共享队列,用于标记各进程所读的文件块结束位置
 file:所读文件名称
 各个进程先从array中获取当前最大的值为起始位置startpossition
 结束的位置endpossition (startpossition+BLOCKSIZE) if (startpossition+BLOCKSIZE)

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

显示全文