параллельная обработка текстового файла - PullRequest
1 голос
/ 06 февраля 2020

У меня огромный текстовый файл с 200 000 строк предложений (пример формата строки: имя_файла.wav | несколько расшифровок блабла).

Я бы хотел передать каждую строку параллельно сценарию python. У меня есть сценарий python, который принимает предложения в качестве входных данных, телефонизирует их и сохраняет их в файл.

Я пробовал что-то подобное, используя параллель gnu:

cat test.txt | parallel python singlePhonemize.py 

, который выбрасывает EOF при чтении строки. Мне нужно иметь возможность использовать параллель для этого, и он должен быть в состоянии обойти 'слишком длинный список аргументов' 1008 *

Вот мой сценарий python:

import subprocess
metadataLine=input()    
metadataLine=metadataLine.split('|')                                             

file_name=metadataLine[0][:-4]                                                        
raw_transcript=metadataLine[1]                                                          

command='echo \"{}\" | phonemize -l en-us'.format(raw_transcript)                   
festival_phonemized_transcript=subprocess.check_output(command , shell=True).decode();

new_file_name=file_name+'.txt'                                                                                                                                 
new_file_path='/folder/'+new_file_name 

with open(new_file_path,'w') as file:                                                                
        file.write(festival_phonemized_transcript) 
...