我有一个文件上传页面,用户上传他们的文件,他们通常是一堆文件。在我的python代码中,我试图从该文件中拉出一个标签,然后将其保存到列表中,所以一切正常但是在这里,我收到三个不同的输出列表,上传了3个文件。如何将3个输出列表合并为一个。这是我的代码
a=self.filename
print(a) #this prints out the uploaded file names(ex: a.xml,b.xml,c.xml)
soc_list=[]
for soc_id in self.tree.iter(tag='SOC_ID'):
req_soc_id = soc_id.text
soc_list.append(req_soc_id)
print(soc_list)
我得到的输出是:
a.xml
['1','2','3']
b.xml
[4,5,6]
c.xml
[7,8,9]
我想将所有内容合并为一个列表
答案 0 :(得分:1)
据我分析,我认为您希望将所有soc_list值写入单个文件,然后您可以将文件读回。这样做对您来说是最好的方法,因为您不会像在问题中提到的那样知道用户文件上传。为此,请尝试理解并实施以下代码以保存到您的文件
save_path = "your_path_goes_here"
name_of_file = "your_file_name"
completeName = os.path.join(save_path, name_of_file + ".txt")
file1 = open(completeName, 'a')
for soc_id in self.tree.iter(tag='SOC_ID'):
req_soc_id = soc_id.text
soc_list.append(req_soc_id)
file1.write(req_soc_id)
file1.write("\n")
file1.close()
通过这种方式,您可以随时将文件写入文件,然后回读数据并将其转换为列表,请按照以下示例进行操作
examplefile = open(fileName, 'r')
yourResult = [line.split('in_your_case_newline_split') for line in examplefile.readlines()]