我要每隔10秒讀取一個csv檔案,然后對一個狀態標志進行修改,然后再把檔案寫回這個csv檔案(這個檔案有其他模塊在寫入)
可能是因為我下一次讀取的是我這次寫的內容,報錯提示我recursionerror:maximum recursion depth exceeded while calling a python object
要怎么解決這個問題,不讀寫有其他修改狀態標志的方法嗎?
代碼離線,大致是下面這樣:
def timetask():
a = pd.read_csv('path')
a['flag'] = 1
a.to_csv('path)
threading.timer(10,timetask(),()).start()
threading.timer(10,timetask(),()).start()
uj5u.com熱心網友回復:
你讀寫的這個csv是同一個檔案?uj5u.com熱心網友回復:
是的
uj5u.com熱心網友回復:
看提示是遞回深度超限,網上有說是將threading.timer(10,timetask(),())部分放在全域變數里,然后再start(),你試試不知可行否uj5u.com熱心網友回復:
我試了,不行呀
其實我不太懂我沒有呼叫自身,只是讀寫了同一個檔案,為什么被算做了遞回?
提示的是我讀檔案這句代碼重復了2900多次,a = pd.read_csv('path')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/34912.html
