向用户询问输入数据并在他们输入“完成”后运行

时间:2018-08-31 03:10:26

标签: python input

我想编写一个代码/程序来询问用户输入的文件名(某些用户有10个以上的输入文件),然后一旦他们按“完成”,程序就会执行所有文件。

例如,用户有3个文件。

1)他们输入了3个文件名
2)他们按“完成”
3)程序运行3个文件(我已经写了程序,所以我不需要这个,但是应该像将3个文件保存在列表[file1,file2,file]中一样,因为我的程序可以将x用于列表中的x,然后执行加载每个文件)

如果可能的话,最好能够计算出它们输入了多少文件。

我的代码如下:

a = 0 
a = input("Please enter your filenames without the '.txt' and press 'Done' to run " )
a += 1
print("---------- File {} ----------".format(a))

有没有简单的方法可以做到这一点?我尝试使用for循环,但仅询问用户输入将是非常长的代码。预先感谢

1 个答案:

答案 0 :(得分:2)

累积输入列表,完成后中断循环。

names = []
while True:
    a = input("file name or 'Done'")
    if a == "Done":
        break
    else:
        names.append(a)
# user typed done
print("entered {} names".format(len(names)))
for n in names:
   print('{}.txt'.format(n))