日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python 多進(jìn)程和協(xié)程配合使用寫入數(shù)據(jù)

瀏覽:17日期:2022-07-06 17:10:04

一、需求分析

有一批key已經(jīng)寫入到3個(gè)txt文件中,每一個(gè)txt文件有30萬(wàn)行記錄。現(xiàn)在需要讀取這些txt文件,判斷key是否在數(shù)據(jù)倉(cāng)庫(kù)中。(redis或者mysql)

為空的記錄,需要寫入到日志文件中!

任務(wù)分工

1. 使用多進(jìn)程技術(shù),每一個(gè)進(jìn)程讀取一個(gè)txt文件

2. 使用協(xié)程技術(shù),批量讀取txt文件記錄。比如一次性讀取 2000條記錄

注意:打開文件操作,最好在一個(gè)進(jìn)程中,重復(fù)打開文件,會(huì)造成系統(tǒng)資源浪費(fèi)!

二、完整代碼

#!/usr/bin/env python3# coding: utf-8'''多線程和協(xié)程配合使用示例'''import osimport timefrom gevent import monkey;monkey.patch_all()from gevent.pool import Poolfrom functools import partialfrom multiprocessing import ProcessCOROUTINE_NUMBER = 2000 # 協(xié)程池?cái)?shù)量pool = Pool(COROUTINE_NUMBER) # 使用協(xié)程池# 模擬數(shù)據(jù)倉(cāng)庫(kù),測(cè)試數(shù)據(jù)data_dict = {'1':'x1','3':'x3','5':'x5','7':'x7','9':'x9'}class TestProgram(object): # 測(cè)試程序 def __init__(self): self.BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 項(xiàng)目根目錄 def write_log(self,number, content, colour=’white’, skip=False): ''' 寫入日志文件 :param content: 寫入內(nèi)容 :param colour: 顏色 :param skip: 是否跳過(guò)打印時(shí)間 :return: ''' # 顏色代碼 colour_dict = { ’red’: 31, # 紅色 ’green’: 32, # 綠色 ’yellow’: 33, # 黃色 ’blue’: 34, # 藍(lán)色 ’purple_red’: 35, # 紫紅色 ’bluish_blue’: 36, # 淺藍(lán)色 ’white’: 37, # 白色 } choice = colour_dict.get(colour) # 選擇顏色 path = os.path.join(self.BASE_DIR, 'output_%s.log' % number) # 日志文件 with open(path, mode=’a+’, encoding=’utf-8’) as f: if skip is False: # 不跳過(guò)打印時(shí)間時(shí) content = time.strftime(’%Y-%m-%d %H:%M:%S’) + ’ ’ + content info = '033[1;{};1m{}033[0m'.format(choice, content) print(info) f.write(content + 'n') def has_null(self, key, number): ''' 輸出key :param key: 鍵值 :param number: 文件標(biāo)記 :return: bool ''' key = key.strip() if not data_dict.get(key): self.write_log(number,'錯(cuò)誤,{} 記錄為空'.format(key),'red') return False print(key) return True def read_file(self, number): ''' 讀取文件 :param number: 文件標(biāo)記 :return: ''' file_name = os.path.join(self.BASE_DIR, 'data', '%s.txt' % number) # print(file_name) self.write_log(number, '開始讀取文件 {}'.format(file_name),'green') with open(file_name, encoding=’utf-8’) as f: # 使用協(xié)程池,執(zhí)行任務(wù)。語(yǔ)法: pool.map(func,iterator) # partial使用偏函數(shù)傳遞參數(shù) # 注意:has_null第一個(gè)參數(shù),必須是迭代器遍歷的值 pool.map(partial(self.has_null, number=number), f) self.write_log(number, '結(jié)束文件讀取 {} 完成'.format(file_name),'green') return True def run(self, number): ''' 讀取指定的文件,判斷每一個(gè)key是否為空 :param number: :return: ''' startime = time.time() # 開始時(shí)間 # 清空日志 path = os.path.join(self.BASE_DIR, 'output_%s.log' % number) # 日志文件 with open(path, mode=’w’) as f: pass self.read_file(number) endtime = time.time() take_time = endtime - startime if take_time < 1: # 判斷不足1秒時(shí) take_time = 1 # 設(shè)置為1秒 # 計(jì)算花費(fèi)時(shí)間 m, s = divmod(take_time, 60) h, m = divmod(m, 60) self.write_log(number, '%s.txt 花費(fèi)時(shí)間 %02d:%02d:%02d' % (number,h, m, s),'green') def main(self): ''' 使用多線程執(zhí)行程序 :return: ''' # 文件標(biāo)記列表 file_list = ['7001', '7002', '7003'] p_lst = [] # 線程列表 for i in file_list: # self.run(i) p = Process(target=self.run, args=(i,)) # 子進(jìn)程調(diào)用函數(shù) p.start() # 啟動(dòng)子進(jìn)程 p_lst.append(p) # 將所有進(jìn)程寫入列表中 for p in p_lst: p.join() # 檢測(cè)p是否結(jié)束,如果沒(méi)有結(jié)束就阻塞直到結(jié)束,否則不阻塞TestProgram().main() # 啟動(dòng)主程序,它會(huì)開啟3個(gè)進(jìn)程。

執(zhí)行輸出

python 多進(jìn)程和協(xié)程配合使用寫入數(shù)據(jù)

以上就是python 多進(jìn)程和協(xié)程配合使用寫入數(shù)據(jù)的詳細(xì)內(nèi)容,更多關(guān)于python 多進(jìn)程和協(xié)程的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美片第1页综合| 国产白浆在线免费观看| 成人污污视频| 国产精品v日韩精品v欧美精品网站| 蜜桃久久久久久| 亚洲精品高潮| 日韩精品欧美大片| 亚洲精品精选| 日韩精品导航| 国产精品17p| 久久伊人亚洲| 国产v综合v| 极品裸体白嫩激情啪啪国产精品| 亚洲电影有码| 日韩亚洲国产欧美| 中日韩男男gay无套| 久色成人在线| 久久精品72免费观看| 国产精品一区二区av日韩在线| 日韩国产欧美一区二区三区| 国产精品最新自拍| 国产精品久久观看| 99国产精品视频免费观看一公开 | 国产精品日韩久久久| 亚洲精品自拍| 国产一区二区三区四区五区传媒| 国产极品嫩模在线观看91精品| 日韩a一区二区| 一本一本久久| 国产精品久久乐| 久久久国产精品一区二区中文| 国产精品日本| 中文字幕人成乱码在线观看| 日韩亚洲在线| 丁香婷婷久久| 亚洲综合小说| 日韩欧美一区二区三区免费看| 午夜宅男久久久| 欧美国产极品| 亚洲影院天堂中文av色| 日韩国产专区| 亚洲视频二区| 亚洲午夜久久久久久尤物| 久久av导航| 蜜芽一区二区三区| 日韩大片在线| 国产精品白浆| 日韩在线黄色| 香蕉视频成人在线观看| 日韩欧美一区二区三区免费看| 久久国产三级| 另类av一区二区| 99热精品久久| 国产不卡人人| 欧美国产专区| 欧美久久香蕉| 亚洲夜间福利| 日韩中文在线播放| 国产盗摄——sm在线视频| 国产精品tv| 国产日韩三级| 国产人成精品一区二区三| 亚洲视频二区| 综合国产在线| 日韩精品91亚洲二区在线观看| av成人国产| 男人的天堂久久精品| 午夜国产一区二区| 91九色精品国产一区二区| 韩国精品主播一区二区在线观看 | av高清不卡| 成年男女免费视频网站不卡| 电影91久久久| а√天堂8资源中文在线| 久久精品国产久精国产| 精品网站999| 91看片一区| 欧美成人日韩| 日韩中文字幕无砖| 国产精品极品在线观看| 国产精品xx| 免费一二一二在线视频| 国产一区二区三区自拍| 美女尤物久久精品| 欧美日韩在线精品一区二区三区激情综合 | 欧美日韩xxxx| 高清日韩欧美| 欧美午夜不卡| 欧美一区精品| 激情久久中文字幕| 日韩avvvv在线播放| 久久亚州av| 国产视频欧美| 国产videos久久| jiujiure精品视频播放| 一区二区国产精品| caoporn视频在线| 丝袜亚洲另类欧美| 精品精品国产三级a∨在线| 香蕉精品久久| 欧美成人一二区| 国产亚洲毛片在线| 激情综合婷婷| 日韩视频1区| 欧美不卡视频| 日韩伦理在线一区| 国产精品蜜月aⅴ在线| 99成人在线| 国产在线看片免费视频在线观看| 亚洲在线国产日韩欧美| 麻豆精品在线视频| 天堂av一区| 日本欧美在线看| 亚洲精品网址| 人人精品亚洲| 日韩一区二区三区免费播放| 欧美日韩午夜| 日本aⅴ免费视频一区二区三区| 亚洲视频综合| 黄色在线网站噜噜噜| 国产精品一区二区三区av| 日韩精品一级中文字幕精品视频免费观看 | 国产精品mm| 婷婷综合电影| 亚洲精品字幕| 国产精品99一区二区| 伊人久久亚洲美女图片| 欧美日韩国产v| 精品一区二区三区中文字幕视频 | av资源中文在线| 日韩毛片网站| 麻豆精品久久| 国产激情精品一区二区三区| 日本精品影院| 在线精品小视频| 中文在线一区| 免费观看在线综合| 欧美一区久久| 国产精品大片免费观看| 六月丁香综合在线视频| 国产伦理久久久久久妇女| 青青青国产精品| 国产日韩视频| 久久久噜噜噜| 免费观看在线综合| 牛牛精品成人免费视频| 成人va天堂| 亚洲精选91| 国产aⅴ精品一区二区四区| 精品三级久久| 亚洲精品看片| 国内自拍视频一区二区三区| 久久男女视频| 亚洲欧美网站在线观看| 国产一区一一区高清不卡| 99成人超碰| 亚洲精品乱码久久久久久蜜桃麻豆| 国产毛片久久久| 五月天久久久| 国产一区二区三区网| 一区二区亚洲视频| 国产在线不卡一区二区三区| 99成人在线| 国产成人久久精品麻豆二区| 久久亚洲精品伦理| 精品国模一区二区三区| 日本a级不卡| 精品欧美激情在线观看| 美女毛片一区二区三区四区最新中文字幕亚洲 | 免费黄网站欧美| 日韩亚洲一区在线| 日本亚洲最大的色成网站www | 免费看欧美美女黄的网站| 国际精品欧美精品| 日韩成人av影视| 亚洲国产不卡| 亚洲播播91| 欧美精品1区| 日韩1区2区日韩1区2区| 久久av在线| 亚洲美洲欧洲综合国产一区| 不卡专区在线| 精品一区av| 久久a爱视频| 欧美日韩亚洲国产精品| 亚洲三级视频| aⅴ色国产欧美| 精品日韩毛片| 久久精品亚洲欧美日韩精品中文字幕| 久久不见久久见中文字幕免费| 日韩美女国产精品| 在线精品国产亚洲| 综合亚洲视频| 日韩极品在线观看| 国产一级久久| 日韩精品一二三| 日韩精品免费观看视频| 日韩精选在线| 欧美在线看片| 国产精品久久久一区二区|