最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python模拟分割大文件以及多线程处理的实现方法

来源:动视网 责编:小采 时间:2020-11-27 14:22:40
文档

Python模拟分割大文件以及多线程处理的实现方法

Python模拟分割大文件以及多线程处理的实现方法:这篇文章主要介绍了Python实现模拟分割大文件及多线程处理的方法,涉及Python文件读取、分割及多线程相关操作技巧,需要的朋友可以参考下本文实例讲述了Python实现模拟分割大文件及多线程处理的方法。分享给大家供大家参考,具体如下:#!/usr/bin/en
推荐度:
导读Python模拟分割大文件以及多线程处理的实现方法:这篇文章主要介绍了Python实现模拟分割大文件及多线程处理的方法,涉及Python文件读取、分割及多线程相关操作技巧,需要的朋友可以参考下本文实例讲述了Python实现模拟分割大文件及多线程处理的方法。分享给大家供大家参考,具体如下:#!/usr/bin/en


这篇文章主要介绍了Python实现模拟分割大文件及多线程处理的方法,涉及Python文件读取、分割及多线程相关操作技巧,需要的朋友可以参考下

本文实例讲述了Python实现模拟分割大文件及多线程处理的方法。分享给大家供大家参考,具体如下:

#!/usr/bin/env python
#--*-- coding:utf-8 --*--
from random import randint
from time import ctime
from time import sleep
import queue
import threading
class MyTask(object):
 """具体的任务类"""
 def __init__(self, name):
 self.name = name
 self._work_time = randint(1, 5)
 def work(self):
 print("Task %s is start : %s, sleep time= %d" % (self.name, ctime(), self._work_time))
 sleep(self._work_time)
 print("Task %s is end : %s" % (self.name, ctime()))
class MyThread(threading.Thread):
 """多线程的类"""
 def __init__(self, my_queue):
 self.my_queue = my_queue
 super(MyThread, self).__init__()
 def run(self):
 while True:
 if self.my_queue.qsize() > 0:
 self.my_queue.get().work()
 else:
 break
def print_split_line(num=30):
 print("*" * num)
if __name__ == "__main__":
 print_split_line()
 import my_read_file
 # 分割文件
 sf = my_read_file.SplitFiles(r"F:multiple_thread_read_file.txt", line_count=300)
 file_num = sf.split_file()
 queue_length = file_num
 my_queue = queue.LifoQueue(queue_length)
 threads = []
 for i in range(queue_length):
 file_name = sf.get_part_file_name(i)
 mt = MyTask(file_name)
 my_queue.put_nowait(mt)
 for i in range(queue_length):
 mtd = MyThread(my_queue)
 threads.append(mtd)
 for i in range(queue_length):
 threads[i].start()
 for i in range(queue_length):
 threads[i].join()
 print_split_line()

文档

Python模拟分割大文件以及多线程处理的实现方法

Python模拟分割大文件以及多线程处理的实现方法:这篇文章主要介绍了Python实现模拟分割大文件及多线程处理的方法,涉及Python文件读取、分割及多线程相关操作技巧,需要的朋友可以参考下本文实例讲述了Python实现模拟分割大文件及多线程处理的方法。分享给大家供大家参考,具体如下:#!/usr/bin/en
推荐度:
标签: 文件 以及 python
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top