.split来自文件并将其放入数组中

时间:2016-11-27 14:30:03

标签: python

我正在阅读一个包含一些信息的文件,每个部分用@分隔,但是在每一行我希望它是一个不同的数组,所以我这样做,我不知道为什么它不起作用。

main_file = open("main_file.txt","r")
main_file_info=main_file.readlines()

test=[]
n=0
for line in main_file_info:
       test[n]=line.split("@")

test=test[n][1:len(test)-1] # to get rid of empty strings at the start and the end 
print(test)# see what comes out 

main_file.close()

2 个答案:

答案 0 :(得分:0)

test = [None for _ in range(total)]
# instead of test = []

或只是添加到test

test.append( line.split("@") )

答案 1 :(得分:0)

在列表中插入line.split("@")输出的方式是错误的。您的列表未初始化,因此,您无法简单地将任何内容分配给列表的任何元素。所以,你需要做的是:

test.append(line.split("@"))

或者,您可以按如下方式初始化列表:

test = [[]]*(len(main_file_info))