Create a List that contain each Line of a File
我正试图打开一个文件并创建一个列表,其中的每一行都是从文件中读取的。
1 2 3 4 5 6 | i=0 List=[""] for Line in inFile: List[i]=Line.split(",") i+=1 print List |
但是这个示例代码给出了一个错误,因为
比这容易得多:
1 | List = open("filename.txt").readlines() |
这将返回文件中每行的列表。
我是这样做的
1 | lines_list = open('file.txt').read().splitlines() |
每行都有其行尾字符(
);这样就可以删除字符。
1 | my_list = [line.split(',') for line in open("filename.txt")] |
请阅读PEP8。您与Python约定相差甚远。
如果您想要用逗号分隔的每行列表,我会这样做:
1 2 3 | l = [] for line in in_file: l.append(line.split(',')) |
每一张唱片都会有一个新行。如果你不想要:
1 2 3 | l = [] for line in in_file: l.append(line.rstrip().split(',')) |
f.readlines()返回一个列表,该列表将每一行作为列表中的一个项包含
如果希望每个行被拆分(","),可以使用列表理解
1 | [ list.split(",") for line in file ] |
文件几乎是一列行。你可以在for循环中使用它。
1 2 3 4 | myFile= open("SomeFile.txt","r" ) for x in myFile: print x myFile.close() |
或者,如果需要实际的行列表,只需从文件创建一个列表。
1 2 3 4 | myFile= open("SomeFile.txt","r" ) myLines = list( myFile ) myFile.close() print len(myLines), myLines |
你不能用
此外,不要以大写字母开头简单变量名。
此外,不要将内置名称用作变量。
假设您还希望在每行的开始和结束处去除空白,则可以将string strip函数映射到readlines返回的列表:
1 | map(str.strip, open('filename').readlines()) |
我对python不太确定,但大多数语言都有数组的push/append函数。