說我有一個空列表myNames = []
的Python,加txt文件的項目到一個列表
我怎樣可以打開一個文件,每行名稱,在每個名字讀入名單?
,如:
> names.txt
> dave
> jeff
> ted
> myNames = [dave,jeff,ted]
說我有一個空列表myNames = []
的Python,加txt文件的項目到一個列表
我怎樣可以打開一個文件,每行名稱,在每個名字讀入名單?
,如:
> names.txt
> dave
> jeff
> ted
> myNames = [dave,jeff,ted]
with open('names.txt', 'r') as f:
myNames = f.readlines()
已經提供的答案是怎麼別人擺脫換行符。
更新:
Fred Larson提供了在他的評論一個很好的解決方案:
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 = []
for line in open('names.txt','r').readlines():
Names.append(line.strip())
條()之前和之後的字符串切空間...
您正在遍歷文件內容兩次... – 2010-06-29 15:23:41
names=[line.strip() for line in open('names.txt')]
#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)
這應該是在地圖和lambda
with open ('names.txt','r') as f :
Names = map (lambda x : x.strip(),f_in.readlines())
我指正(或至少改善)了良好的情況下。 List內涵是更優雅
with open ('names.txt','r') as f :
Names = [name.rstrip() for name in f]
讀取一個文件,並把每行列表中的Python的方式:
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())
變化'打開(文件, 'R')'到'開放(」 names.txt','r')'。 'file'是一個內置類型,它不應該被用作變量名稱...否則,很好的解決方案。 – tux21b 2010-06-29 15:18:05
@ tux21b:你說得對,謝謝。 – 2010-06-29 15:23:05
如果我們想把'strip'加入到這個解決方案中,我可能會這樣做:'myNames = [line.strip()for line in f]'。 – 2010-06-29 15:24:10