Python 用变量替换列表名
我一周中的每一天都有几本字典,周日Python 用变量替换列表名,python,python-3.x,list,datetime,Python,Python 3.x,List,Datetime,我一周中的每一天都有几本字典,周日[“a”、“b”、“c”],周一[“d”、“f”、“g”],等等,它们位于另一个脚本(xscript.py)中,我想根据我当前所在的一周中的哪一天打印出来,类似这样: import datetime import xscript def print_daily_list(): day_of_week = datetime.datetime.today().weekday() print(xscript.day_of_week) 我不想创建一堆
[“a”、“b”、“c”]
,周一[“d”、“f”、“g”]
,等等,它们位于另一个脚本(xscript.py)中,我想根据我当前所在的一周中的哪一天打印出来,类似这样:
import datetime
import xscript
def print_daily_list():
day_of_week = datetime.datetime.today().weekday()
print(xscript.day_of_week)
我不想创建一堆
if
语句来将day\u of_week
替换为“Sunday”或“Monday”,具体取决于日期。我相信您可以在xscript.py中创建一个字典
dic = { 'Monday': ['a', 'b'], 'Sunday': ['e', 'f']} # and all the weeks
为了访问它,我建议在xscript中创建一个函数,比如
def get_dict(key):
return dic.get(key, "Default List")
现在在主文件中,您可以像这样调用它:
print(xscript.get_dict(day_of_week)
将它们存储在
字典中
days = {
'Sunday': ['a', 'b', 'c'],
'Monday': [1, 2, 3],
'Tuesday': ['a', 'b', 'c'],
'Wednesday': [1, 2, 3],
'Thursday': ['a', 'b', 'c'],
'Friday': [1, 2, 3],
'Saturday': [1, 2, 3],
}
然后把一周中的某一天传给你的剧本,并在当天给听写人打电话
days[day]
此解决方案使用getattr获取此实例中对象的属性,即模块xscript。如果脚本模块有一个名为星期四的变量,而今天是星期四,则此脚本将获取并打印该变量
day_of_week = datetime.datetime.today().strftime('%A')
print(getattr(xscript, day_of_week))
使用字典这能回答你的问题吗?它工作得很好!,非常感谢谢谢你,我错过了写作,我每周有多本字典没有列出,我很抱歉,但非常感谢你的回答谢谢,我错过了写作,我每周有多本字典没有列出,我很抱歉,但非常感谢你的回答你仍然可以使用字典。每天只需储存你所需要的东西。