Ändern der globalen Variablen bei der Mehrfachverarbeitung in Python
Ich versuche also letztendlich, eine Zeile zu lesen, einige Berechnungen mit den Informationen in dieser Zeile durchzuführen und dann das Ergebnis zu einem globalen Objekt hinzuzufügen, aber ich kann nie scheinen, es zum Laufen zu bringen. Zum Beispiel ist test im folgenden Code immer 0. Ich weiß, dass dies falsch ist, und ich habe versucht, es anders zu machen, aber es funktioniert immer noch nicht.
import multiprocessing as mp
File = 'HGDP_FinalReport_Forward.txt'
#short_file = open(File)
test = 0
def pro(temp_line):
global test
temp_line = temp_line.strip().split()
test = test + 1
return len(temp_line)
if __name__ == "__main__":
with open("HGDP_FinalReport_Forward.txt") as lines:
pool = mp.Pool(processes = 10)
t = pool.map(pro,lines.readlines())