2016-06-21 2 views
2

У меня есть набор текстовых файлов, и я пытаюсь читать в один list.but, когда я исполняю мой кодКак читать набор текстовых файлов в единый список в Python

def get_documents(): 
path1 = "D:/set/" 
texts=[] 
listing1 = os.listdir(path1) 
for file in listing1: 
    with open(path1+file,'r') as f: 
     lines = f.read().splitlines() 
    texts.append(lines) 
print texts 

Я получаю вывод в виде списка списков

[['Wanna see Riya Somani :) wish lyf olso moment lyk end half galfrnd... :) '], ['Worst book Mr. Chetan Bhagat.. Plz better stori ']] 

Как я могу получить его как единый список?

ответ

5

Я считаю, что вместо этого:

texts.append(lines) 

ли это:

texts.extend(lines) 
0

, как вы могли догадаться, splitlines() возвращает список, поэтому, когда вы поместить результат в другой список (в вашем случае, тексты), у вас будет список, содержащий некоторые списки. поэтому способ достичь желаемого результата заключается в использовании:

new_list = [item for sub_list in texts for item in sub_list] 

new_list будет ваш желаемый список

1

Вы можете просто использовать += для достижения этой цели.

texts += lines 
Смежные вопросы