我有一个附加列表,我想将列表中的每一行写到不同的文本文件中,并用不同的名称保存文件。
我的代码的相关部分是:
#append new values to list
tl1.append(tl1)
br1.append(br1)
label1.append(label1)
res.append(((label1, tl1, br1)))
#write list to text file
with open('Result.txt', 'w') as f:
for items in res:
f.write("{}\n".format(items))
假设变量和其他参数已经定义。 因此,这里我的整个列表都保存到一个文件中,但是我希望将res的每个值存储在不同的文本文件中,并且每个文本文件都应使用不同的名称保存。例如。列表的第一个值应保存到文本文件中,此文件应称为frame001.txt,第二个值应保存在其他文本文件中,应将其命名为frame002.txt,第三个值应存储在其他文件中文件,该文件应称为frames003.txt,以此类推。任何建议都会有所帮助。
答案 0 :(得分:0)
您已经知道如何写入文件,因此您的问题主要是关于基于当前迭代索引动态创建文件名:
lst = ["a", "b", "c", "d"]
for index, item in enumerate(lst, 1):
print("frame{:03d}.txt".format(index))
我留给您阅读这些功能的FineManual。
编辑:
这将创建等于列表中索引数的文件名。如何将列表的值传递到各个文件?
您已经在原始代码段中做到了。
这还将打印文件名。不创建动态文件
如何在原始代码中创建“ Result.txt”? FWIW,“动态文件”没有任何意义-您只需在写入模式下打开文件即可创建文件。
正如我所说,鉴于您的原始代码段,您已经知道如何执行这些操作,因此我认为无需再次进行说明。我了解您可能是一个初学者,但解决难题的其余部分仅是逻辑问题,实际上是一个非常简单的问题-即使对于初学者也是如此。