Python, добавить элементы из TXT-файла в список - PullRequest
16 голосов
/ 29 июня 2010

Скажите, у меня есть пустой список myNames = []

Как открыть файл с именами в каждой строке и прочитать каждое имя в списке?

как:

>     names.txt
>     dave
>     jeff
>     ted
>     myNames = [dave,jeff,ted]

Ответы [ 7 ]

36 голосов
/ 29 июня 2010

Прочитайте документацию :

with open('names.txt', 'r') as f:
    myNames = f.readlines()

Другие уже предоставили ответы, как избавиться от символа новой строки.

Обновление :

Фред Ларсон предлагает хорошее решение в своем комментарии:

with open('names.txt', 'r') as f:
    myNames = [line.strip() for line in f]
8 голосов
/ 29 июня 2010
f = open('file.txt','r')

for line in f:
    myNames.append(line.strip()) # We don't want newlines in our list, do we?
4 голосов
/ 29 июня 2010
names=[line.strip() for line in open('names.txt')]
1 голос
/ 15 августа 2016

Это должно быть хорошим случаем для карты и лямбды

with open ('names.txt','r') as f :
   Names = map (lambda x : x.strip(),f_in.readlines())

Я стою исправлено (или, по крайней мере, улучшилось). Список понимания еще более элегантен

with open ('names.txt','r') as f :
    Names = [name.rstrip() for name in f]
1 голос
/ 04 мая 2014
#function call
read_names(names.txt)
#function def
def read_names(filename): 
with open(filename, 'r') as fileopen:
    name_list = [line.strip() for line in fileopen]
    print (name_list)
0 голосов
/ 20 октября 2016

Питонный способ прочитать файл и поместить все строки в список:

from __future__ import with_statement #for python 2.5
Names = []
with open('C:/path/txtfile.txt', 'r') as f:
    lines = f.readlines()
    Names.append(lines.strip())
0 голосов
/ 29 июня 2010
Names = []
for line in open('names.txt','r').readlines():
    Names.append(line.strip())

strip () вырезать пробелы в строке до и после ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...