使用python3.4+的import concurrent.futures
def function(json_path):然後用多程序呼叫使用的函式。注意多程序的衝突問題,也就是只能多對多或者一對多(如果乙個檔案生成多個檔案,需要在function函式中進行判斷),不能多對一(如果多個檔案同時寫入乙個檔案的話會產生衝突)key_frame_list =
with open(json_path) as fr_json:
data = json.load(fr_json)
video_filename = video_path + data['videoid']
for i in range(len(data['shots'])):
for target in data['shots'][i]['targets']:
if target['category'] == 0:
ch = cv2.waitkey(5)
if ch == 27:
break
except:
pass
cap.release()
最後是函式呼叫,先將需要處理的檔案放到list當中,然後呼叫function函式
with concurrent.futures.processpoolexecutor() as executor:
for image_file,result in zip(json_filename_list,executor.map(function,json_filename_list)):
print("finish one video!!")
python多程序處理大資料
主要用到multiprocessing庫,思想是將大資料讀入記憶體,然後切片儲存,然後多程序分別處理分片。from multiprocessing import pool import math import os 讀取資料 path os.path.join os.getcwd test.txt ...
python多程序處理
最近處理fmri資料時由於採用了的演算法需要隨機成千上萬次,因此所需的計算量相當大,單執行緒處理的話一般要一天,python原生是不支援多執行緒的,因此考慮採用python的多程序。其實編寫python多程序的程式還是比較簡單。下面實在自己的電腦上開啟了4程序。任務管理器裡面cpu顯示已經占用了10...
python多程序 python多程序
當有多個非相關任務需要處理時,並行能大大提高處理速度。這裡簡要介紹python的multiprocessing模組。簡單多程序編寫 當我們任務數量確定而且比較少的時候,可以手動為每個任務指定乙個程序來執行。import multiprocessing as mp def f a print a if...