2017-04-17 60 views
-1

我正在使用一個使用python的程序,它用GPIO對脈衝進行計數並將它們存儲在文本文件中。我想以這樣的方式更新該程序,當程序重新啓動或者更新rapsberry pi時,計數器將繼續從最後一次計數開始計數。任何人都知道如何去做?謝謝。python中的更新計數器

counter = 0 

def my_callback2(channel) 

global counter 
counter = counter + 1 
print counter 

file = open("testfile.txt", "w") 
file.write(str(counter)) 

file.close() 
with open('testfile.txt', 'r') as f: 
    first_line = f.readline() 

print "switch press detected" 
+0

你能告訴我們代碼嗎? – Astrom

+0

而不是用0初始化您的計數器,您將在程序開始時使用文本文件中的最新值初始化它。 –

+0

您可能會從該文本文件中讀取上一個值 – Laurence

回答

1

必須有更簡單的方法,但是這將做到這一點:

order_idFile = open('some_file.txt', 'r') # open file for reading 
order_id = int(order_idFile.read().strip()) # read file contents, strip it and convert a str to int 
order_idFile.close() # close file 
order_id += 1 # add 1 to current number 
order_idFile = open('some_file.txt', 'w') # open file for writing 
order_idFile.write(str(order_id)) # convert int to str and write to file 
order_idFile.close() # close file 

注:
some_file.txt必須有一個有效的數字(0吧?)你第一次運行劇本。