我想解決一個問題。我很感謝你對此的寶貴意見。多處理大文件數量
問題聲明: 我正在嘗試在同一個基本目錄中讀取很多文件(10 ** 6的順序)。每個文件具有的圖案(YYYY-MM-DD-HH)相匹配的名稱,並且在文件的內容如下
mm1, vv1
mm2, vv2
mm3, vv3
.
.
.
其中mm
是白天和vv
的分鐘」是一些數字值就那一分鐘而言。考慮到開始時間(例如2010-09-22-00)和結束時間(例如2017-09-21-23),我需要找到所有vv
的平均值。
所以基本上用戶會爲我提供一個start_date
和end_date
,我就必須得到所有文件的平均給定日期範圍之間。因此,我的函數將是這樣的:
get_average(start_time, end_time, file_root_directory):
現在,我想了解我是如何利用多來平均的小塊,然後建立在這得到最終值。
注:我不是在尋找線性解決方案。請告訴我如何在較小的塊中解決問題,然後總結出來以找出平均值。 我曾嘗試在python中使用multiprocessing
模塊創建4個進程池,但我無法弄清楚如何保留內存中的值並將結果添加到所有塊中。
除了範圍很廣,還不清楚你想知道什麼。也就是說,在進程之間進行通信的一種通用(並且非常常見)的方式是使用一個或多個'multiprocessing.Queue'對象。 – martineau
嗯,我同意這個陳述很寬泛,我也同意實際上沒有文件系統可以在一個目錄中處理10^6個文件。這就是說我這裏的主要目標是建立一個原型 – Geek