Python中的常量后台函数和全局变量?
我有一个简单的函数,可以轮询文件夹,并在检测到新文件时加载新文件:Python中的常量后台函数和全局变量?,python,global-variables,polling,Python,Global Variables,Polling,我有一个简单的函数,可以轮询文件夹,并在检测到新文件时加载新文件: raw = [] def poll_file(mydir, raw) while 1: after = dict([(f, None) for f in os.listdir(mydir)]) added = [f for f in after if f not in before] # New File if added: ra
raw = []
def poll_file(mydir, raw)
while 1:
after = dict([(f, None) for f in os.listdir(mydir)])
added = [f for f in after if f not in before]
# New File
if added:
raw.append(numpy.loadtxt(mydir + added[0]))
# Set Trigger
if raw[-1] > 5:
trigger = 1
return trigger
在我的主脚本中,在某些时间点,我希望等待trigger
变为'1',但有时我不关心trigger
是什么,我希望我的变量raw
继续附加来自新文件的新数据
所以,我有两个问题
trigger
设置为可以在主脚本中读取然后重置为0的全局变量,如:
触发时!=1:
#在触发器==1之前不执行任何操作
触发器=0
raw
保存到pickle文件?我假设我将它设置为一个全局变量2.如果要在函数中分配触发器,请将其声明为全局触发器。否则,LEGB范围规则适用。我在哪里定义变量global?在我的主脚本中,还是在我想在后台运行的函数中?看看这个库:在函数中声明它是全局的(请注意,在99%的情况下,可以而且应该避免全局变量)。如果您使用的是Python3,您还可以选择使用
非本地
,这取决于您的设计。见此:见此问题/答案: