これは、Python と Raspberry Pi のプログラミングに対する私の最初の試みです。私の小さなプロジェクトは、Twitter で言及されたときに LED を点灯させることです。すべて非常にシンプルで、以下に示すコードはうまく機能します。私の質問は、以前の言及を変数ではなくテキスト ファイルに保存することに関するものです。基本的に、コードは、プログラムが再実行されるたびに LED が点滅し続けるのを防ぐために、すでに表示されている tweet.ids のリストについて、printed_ids 変数をチェックします。私の計画は、スケジュールされたジョブでpythonコードを実行することですが、Piを再起動してプログラムを実行するたびに、プログラムがすべての言及を通過し、発生するたびに.印刷された_ids 変数。そのため、プログラムが再起動しても生き残るように、代わりにテキスト ファイルに書き込むことを考えました。
何か考え/推奨事項はありますか?
ご協力いただきありがとうございます。
import sys
import tweepy
import RPi.GPIO as GPIO ## Import GPIO library
import time ## Import 'time' library. Allows use of 'sleep'
GPIO.setmode(GPIO.BOARD) ## Use board pin numbering
CONSUMER_KEY = '******************'
CONSUMER_SECRET = '*****************'
ACCESS_KEY = '**********************'
ACCESS_SECRET = '*********************'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
speed = 2
printed_ids = []
while True:
for tweet in api.mentions_timeline():
if tweet.id not in printed_ids:
print "@%s: %s" % (tweet.author.screen_name, tweet.text)
GPIO.setup(7,GPIO.OUT) ## Setup GPIO Pin 7 to OUT
GPIO.output(7,True)## Switch on pin 7
time.sleep(speed)## Wait
GPIO.output(7,False)## Switch off pin 7
f.open('out','w')
f.write(tweet.id)
##printed_ids.append(tweet.id)
GPIO.cleanup()
time.sleep(60) # Wait for 60 seconds.