Скажем, у меня есть пустой список myNames = []
Как открыть файл с именами в каждой строке и прочитать каждое имя в списке?
как:
> names.txt
> dave
> jeff
> ted
> myNames = [dave,jeff,ted]
Скажем, у меня есть пустой список myNames = []
Как открыть файл с именами в каждой строке и прочитать каждое имя в списке?
как:
> names.txt
> dave
> jeff
> ted
> myNames = [dave,jeff,ted]
Прочитайте документация:
with open('names.txt', 'r') as f:
myNames = f.readlines()
Другие уже предоставили ответы, как избавиться от символа новой строки.
Обновление
Фред Ларсон дает хорошее решение в своем комментарии:
with open('names.txt', 'r') as f:
myNames = [line.strip() for line in f]
f = open('file.txt','r')
for line in f:
myNames.append(line.strip()) # We don't want newlines in our list, do we?
names=[line.strip() for line in open('names.txt')]
Names = []
for line in open('names.txt','r').readlines():
Names.append(line.strip())
strip() вырезать пробелы до и после строки...
#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)
Это должно быть хорошим примером для карты и лямбда
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]
Питонический способ прочитать файл и поместить все строки в список:
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())