我试图打开一个文件,并从文件中读取每行创建一个列表。创建一个列表,其中包含文件的每一行
i=0
List=[""]
for Line in inFile:
List[i]=Line.split(",")
i+=1
print List
但此示例代码给了我一个错误,因为i+=1
的话说,index is out of range
。 这里有什么问题?如何编写代码以便使用InFile中的每个新行增加我的列表?
我试图打开一个文件,并从文件中读取每行创建一个列表。创建一个列表,其中包含文件的每一行
i=0
List=[""]
for Line in inFile:
List[i]=Line.split(",")
i+=1
print List
但此示例代码给了我一个错误,因为i+=1
的话说,index is out of range
。 这里有什么问题?如何编写代码以便使用InFile中的每个新行增加我的列表?
这是比这更容易了很多:
List = open("filename.txt").readlines()
这将返回文件中的每一行的列表。
我不确定Python是什么,但大多数语言都有数组的push/append函数。
my_list = [line.split(',') for line in open("filename.txt")]
文件是几乎行的列表。你可以在中循环使用循环。
myFile= open("SomeFile.txt", "r")
for x in myFile:
print x
myFile.close()
或者,如果您想要一个实际的行列表,只需从该文件创建一个列表。
myFile= open("SomeFile.txt", "r")
myLines = list(myFile)
myFile.close()
print len(myLines), myLines
你不能做someList[i]
在列表的末尾把一个新项目。你必须做someList.append(i)
。
另外,从不用大写字母开始一个简单的变量名称。 List
混淆了认识Python的人。
另外,从来没有使用内置名称作为变量。 list
是一种现有的数据类型,并将其作为变量混淆了认识Python的人。
f.readlines()返回,如果你想eachline被拆分包含各行如清单
项目列表(“”),可以使用列表理解
[ list.split(",") for line in file ]
请阅读PEP8。你在Python公约中摇摆不定。
如果你想用逗号分割每行列出的名单,我应该这样做:
l = []
for line in in_file:
l.append(line.split(','))
你会得到每个记录一个换行符。如果你不希望出现这种情况:
l = []
for line in in_file:
l.append(line.rstrip().split(','))
我就是这么做的
lines_list = open('file.txt').read().splitlines()
每个系标配的行字符其结束(\ n \ r);这样字符被删除。
假设你也想在开始和每行的末尾剥离空格,您可以将字符串条函数映射到由readlines方法返回的列表:
map(str.strip, open('filename').readlines())
WoooW只是完美!有效。顺便说一句,想象一下,这不是一个文件...但我想创建一个动态列表...我怎样才能追加一个元素呢?就像是一个arrayList? ty so so much – UcanDoIt 2008-11-29 22:06:41
append方法可以做到这一点。例如:xs.append(line) – 2008-11-29 23:06:29
关闭文件怎么办? – matlabit 2015-11-25 13:44:28