我有一個文件,每個文件包含x
。 我需要能夠從這個文件中獲取n
的值,將它們放入一個數組中,將該數組傳遞到一個新的進程中,清除該數組,然後從該文件中獲取另一個值,以提供下一個進程。Python - 在一個文件中處理大量行
我遇到的問題是,當x
是一個像12這樣的值,我試圖給予,比方說,每個過程的10塊值。
第一個過程將得到它的前10個值沒有問題,但我無法將其餘2個過程給予最後一個過程。
如果我們假設您告訴程序爲每個進程提供10個文件的值,但文件只有1個或甚至9個值,那麼問題也會出現。
我需要知道,當我在最後一組值小於n
我想避免服用文件中的每一個值,它在陣列中存儲全部一次,因爲我可能會遇到內存問題,如果該文件中有數以百萬計的值。
這裏是什麼,我一直試圖做一個例子:
chunk = 10
value_list = []
with open ('file.txt', 'r') as f:
for value in f:
value_list.append(value)
if (len(value_list) >= chunk):
print 'Got %d' % len(value_list)
value_list = [] # Clear the list
# Put array into new process
這將趕上在這個例子中每10個,但它不會工作,如果甚至有happend小於10的文件中開始用。
只是使用來自'value_list'剩餘的數據你的循環是爲了通話的過程中最後一次(如果'value_list'不爲空) –