mudando a variável global quando multiprocessando em python
Então, o que eu estou tentando fazer é ler uma linha, fazer alguns cálculos com a informação nessa linha, depois adicionar o resultado a algum objeto global, mas nunca consigo fazê-lo funcionar. Por exemplo, o teste é sempre 0 no código abaixo. Eu sei que isso está errado, e tentei fazer isso de outras formas, mas ainda não está funcionando.
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())