[英]How do I have user's response to raw_input( ) access a string of the same name?
我试图将两个用户输入变成文件名的一部分,然后我的Python脚本将访问该文件名。
例如,我想使用用户输入的内容来构造:date_time_place.txt。 我知道我可以通过串联字符串来做到这一点。
我要求用户提供raw_input()的日期和时间,但是我已经命名了他们可以使用的日期和时间选项:
date1 = yesterday
date2 = today
date3 = tomorrow
time1 = morning
time2 = afternoon
time3 = evening
我指定用户必须将其响应输入为date#或time#。
我想要的是能够使用他或她的响应来获取已分配的date#或time#。 如何处理这样的事情?
尽管可以 ,但是您不应尝试这样做。 而是将您的变量放在字典中;
dates = {
'date1': yesterday,
'date2': today,
'date3': tomorrow,
}
times = {
'time1': morning,
'time2': afternoon,
'time3': evening,
}
现在访问就像dates[userstring]
或times[userstring]
一样简单。
您可以使用locals()
函数访问局部变量,使用globals()
访问全局globals()
都返回一个字典),但是您就不能限制它们可以访问的名称。
time = ["morning","afternoon", "evening"]
print """please choose one 0:morning
1:afternoon
2:evening """
daytime = time[int(raw_input())]
这是一个示例解决方案。 检查索引不足的值和非整数值的异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.