2016-04-09 17 views
2

我一直在寻找了一段时间,我敢肯定有人要问这个问题在我面前,但我想我没有使用正确的搜索词(不知道该怎么称呼这个)。使用价值从列表中设置各种交互式

我有一个目录与SQL文件,我想列出目录并为每个文件分配一个数值,然后用户选择并设置一个变量与该文件名,以便我可以使用它传递给一个SQL执行功能。我嘲笑了下面的代码,以显示我脑海中的想法。

import os 

upgrades = os.listdir('upgrades') 

select = 1 

print '\nPlease select your upgrade: \n' 

for sql in upgrades: 
    print '['+str(select)+']: '+sql 
    select +=1 

print '\n' 

selection = raw_input('-->') 
+0

你应该使用字典,用于保存名称为重点和文件名和值。 – Kasramvd

+0

有没有使用字典而不是OS模块列表的函数/方法? – Mysteri0n

+0

你只参加了这里的一部分。你能发布一个完整的最佳答案,答案者可以纠正/改进吗? – dbliss

回答

3

由于upgrades是一个列表,您可以将其编入索引。因为你开始1和列表索引与0开始只是做:

selection = int(raw_input('-->')) 
selected_sql = upgrades[selection - 1] 
+0

谢谢,我想我只是有一个空白的时刻,那是一个完美而简单的解决方案! – Mysteri0n