在这段代码上绕了一圈并且可能用一只手。 它可能是我错过某个地方的小事。Python的threading.timer问题/ for循环
我有我试着去窥探一些价值出来的CSV文件,对于我们来说,它看起来是这样的:
columns : A, B, C, D
row[0]: bad, x, y, s
row[1]: good1, x, y, z
row[2]: good2, x, y, z
我的代码的部分如下所示:
def match_file():
global name,
aziVal1 = 'z'
with open(path_address, 'rb') as userdataCSV:
reader = csv.reader(userdataCSV)
for row in reader:
for (i,v) in enumerate(row):
if aziVal1 in row:
columns[i].append(v)
name = columns[0]
print name
return
如果我从终端一次运行一个代码,它工作正常,并提供输出
['good1', 'good2']
但是当我tr Ÿ与threading.Timer自动化此,
def altogether():
threading.Timer(3.0, altogether).start()
match_file()
return
这成为输出
['good1', 'good2']
['good1', 'good2', 'good1', 'good2']
['good1', 'good2', 'good1', 'good2', 'good1', 'good2']
['good1', 'good2', 'good1', 'good2', 'good1', 'good2', 'good1', 'good2']
我真的不知道什么是错。我尝试删除全局变量,但我需要另一个功能,也尝试转移缩进无效。真的可以在这里使用一只手。谢谢!
谢谢您的回复!我终于明白了,我已经宣布了列作为全球变量的错误!您添加的一行代码在代码中确实指出了这一点。太感谢了! – 2014-09-24 10:19:57
@JoelOng欢迎!不要忘记接受它作为答案。 :) – 2014-09-25 00:47:49