2017-04-17 13 views
-1

私は、GPIOでパルスをカウントし、テキストファイルに保存するpythonを使用しているプログラムを使用しています。プログラムを再起動するか、またはラプベリ・パイを更新すると、カウンタは前回のカウントからカウントを続けます。誰でもそれをどうしたらいいのか分かっていますか?ありがとう。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?)有効な数値を持っている必要がありますあなたが最初に実行したときスクリプト。

関連する問題