在這段代碼上繞了一圈並且可能用一隻手。 它可能是我錯過某個地方的小事。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