Pythonやってみます(3)ー定期実行はやはりcron | virt_flyのブログ

virt_flyのブログ

フライトシミュレーターソフトのFlightGearで仮想飛行を楽しむブログです。

↑10秒おきの湿度、気温が記録されたCSVファイルをUbuntuパソコンからリモート操作で開いたRASPberry Pi Zero

 

cronでPython実行

appendモード

 

前回のブログで宿題となっていた一つが、CSV出力がファイルの新規作成となり、それまでのデータを上書きしてしまう問題です。

 

毎回実行するたびに書き換えも別に悪くはないのですが、保存をし忘れていたり、書き換えられて困る場合のことも考えておいて損はありません。

 

CSVファイルに追加していく場合はappendモードでと言われますが、Pythonではどうすればよいのでしょう。調べたところ、open関数の最後のところで"w"としていたものを"a"とすれば、追加になりました。

 

  f = open("data.csv","w")
        ↓
  f = open("data.csv","a")

 

cron

 

問題は、もうひとつのほうの定期実行です。

 

やはり、ここはcronじゃないでしょうか。「ラズパイで二酸化炭素濃度を測定」のときに学んだものです。その時にはシェルスクリプトを使いましたが、今回は下記のように直接Pythonスクリプトを指定しました。

 

 * * * * * python /home/username/SI7021.py

 

なお、今回のSI7021.pyは、データ出力のための繰り返しの記述はあらため1回きりにしたのは言うまでもありません。

 

冒頭のスクリーンショットは、10秒おきの湿度、気温が記録されたCSVファイルをUbuntuパソコンからリモート操作で開いたRASPberry Pi Zeroの画面です。