У меня есть 340 000 строк данных файла, когда я читаю файл с Python 3.5, синхронизация хороша, но когда я запускаю его с Python 2.7, чтение очень медленное, не имею никакого представления о том, что здесь происходит, вот код:
import codecs as cds
INPUT_DATA_DIR = 'some_tsv_file.tsv'
ENT = "entities"
def train_data_getter(input_dir=INPUT_DATA_DIR):
file_h = cds.open(input_dir, encoding='utf-8')
data = file_h.read()
file_h.close()
sentences = data.split("\n\n")
parsed_data = parser(sentences[0])
return parsed_data
def parser(raw_data):
words = [line for line in raw_data.split("\n")]
temp_l = []
temp_s = ""
for word in words:
token, ent = word.split('\t')
temp_s += token
temp_s += " "
temp_l.append(ent)
data = [(temp_s), {ENT: temp_l}]
return data
Редактировать
Благодаря @PM 2Ring, проблема заключалась в конкатенации строк внутри цикла for, но причина большой разницы между Python2.7 и 3.5 мне не ясна.