如何将文件名添加到列表?

时间:2019-09-12 17:52:08

标签: python python-3.x list file loops

我使用for循环创建了一系列* .txt文件。但是现在我想在列表中写入文件名。但是只有最后一个文件名被打印在列表中,而之前的文件名被删除。


for i in range(3):
    i += 0
    new_file = str(i) + ".txt"
    file_list = []        
    file_list.append(new_file)

    with open(new_file, "w") as outfile:
        print("File created...")
print(file_list)

我得到的输出是 ['2.txt']
我需要输出为 ['0.txt','1.txt','2.txt']

3 个答案:

答案 0 :(得分:2)

您将在循环的每次迭代中重新初始化file_list。将该部分移到外部,如下所示:

file_list = []        
for i in range(3):
    i += 0
    new_file = str(i) + ".txt"
    file_list.append(new_file)

    with open(new_file, "w") as outfile:
        print("File created...")
print(file_list)

答案 1 :(得分:1)

您将在每次迭代时重新创建列表。 您应该在循环之前定义列表:

file_list = []  
for i in range(3):
    i += 0
    new_file = str(i) + ".txt"      
    file_list.append(new_file)

    with open(new_file, "w") as outfile:
        print("File created...")
print(file_list)

答案 2 :(得分:0)

在代码的第四行中,您将file_list设置为一个空列表。由于这在您的循环中,因此每次循环迭代时都会发生!如果声明了file_list变量并将其设置为for循环之前的起始空列表,则应该获得预期的结果。