Если я правильно понимаю проблему, у вас есть файл, такой как
sushi
banana
sujuk
strawberry
tomato
pho
ramen
manaqish
и вы хотите создать новый файл , например:
s u s h i
b a n a n a
s u j u k
s t r a w b e r r y
t o m a t o
p h o
r a m e n
m a n a q i s h
тогда вы можете написать простую программу stdin-stdout, что-то вроде
import sys
for line in sys.stdin:
sys.stdout.write(' '.join(list(line)))
Если все данные отправляются в один и тот же файл, то даже при распараллеливании каждый из ваших потоков или процессов будет конкурировать для записи в один и тот же выходной файл.
Если вы действительно хотите распараллелить и хотите придерживаться Python, вы можете использовать потоковую передачу Hadoop. Ваша работа будет только для картографов; на самом деле картограф - это трехстрочный скрипт, описанный выше. Но я не уверен, что это вам выгодно, если ваш набор данных не будет смехотворно большим. Преобразование довольно простое, но не стесняйтесь профилировать работу, чтобы увидеть, если вы получите много пользы.
Я не думаю, что 3ГБ это очень много, но это может быть забавным упражнением в Hadoop (или чем-то, что дети используют в эти дни.)