在python中更新计数器

时间:2017-04-17 17:39:25

标签: python python-2.7

我正在使用一个使用python的程序,它用GPIO计算脉冲并将它们存储在一个文本文件中。我想以这样的方式更新该程序:当程序重新启动或更新rapsberry pi时,计数器将继续从之前的最后一次计数开始计数。有人知道怎么做吗?感谢。

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"

1 个答案:

答案 0 :(得分: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?)。