Ho 96 file txt che devono essere elaborati. In questo momento sto usando un ciclo for e li faccio uno alla volta, questo processo è molto lento. I 96 file risultanti non devono essere uniti. C'è un modo per farli funzionare in parallelo, ala Parallel.foreach in C#? Codice attuale:C# Parallel.Foreach equivalente in Python
for src_name in glob.glob(source_dir+'/*.txt'):
outfile = open (...)
with open(...) as infile:
for line in infile:
--PROCESS--
for --condition--:
outfile.write(...)
infile.close()
outfile.close()
vogliamo che questo processo per l'esecuzione in parallelo per tutti i file in dir_sorgente.
È il processo in corso lungo o è questa la lettura? –
Nel caso di CPython, che ha un GIL (global interpreter lock), è necessario utilizzare il modulo 'multiprocessing'. Ma sei fortunato perché ci sono state molte librerie di terze parti realizzate in multiprocessing per il calcolo parallelo. – Shashank
https://docs.python.org/3/library/multiprocessing.html – Hozikimaru