我尝试使用一个简单的try语句和一个for循环语句来初始化之前没有定义的变量列表。你知道吗
下面是我写的代码:
for i in ['var1', 'var2', 'var3']:
try:
i
except NameError:
i = []
它不像我期望的那样工作。在运行它之后,如果之前没有定义这些变量,我希望使用var1=[]、var2=[]和var3=[]。你知道吗
这里有一个更详细的我要完成的事情。计划任务应每60秒运行一次,我要跟踪进度:
def run_schduled():
for i in ['var1', 'var2', 'var3']:
try:
i
except NameError:
i = []
var1.append(random.randint(0,100))
var2.append(random.randint(0,100))
var3.append(random.randint(0,100))
schedule.every(60).seconds.do(run_schduled)
while True:
schedule.run_pending()
time.sleep(30)
一种解决方案是使用
defaultdict
:但是,这不允许您简单地执行
print(var1)
,因为它在您的本地(或全局)命名空间中仍然未定义为标记值。它只能作为键存在于defaultdict
实例中。你知道吗另一种选择是使用类:
您还可以使用
pickle
保存实例以便稍后加载(即,在随后的作业运行中)。你知道吗尝试全局:
相关问题 更多 >
编程相关推荐