pythonからシェルコマンドを起動

・pythonでshellコマンド使う(sw押されたらシャットダウン処理)

>> import subprocess

>> subprocess.call([“ls”, “-l”])

二行目は、

>> subprocess.call(‘ls -l’, shell=True)

shell=True指定でベタ書きできるけど、インジェクションリスクはある。

shutdownは、

>> subprocess.call(‘sudo shutdown -h now’, shell=True)

・起動時のスクリプト自動起動(co2センサーのログ取りとdio制御スクリプト)

/etc/rc.localのexit前に以下のように記述しますが、

/usr/bin/python /home/pi/gpio.py &

ルート権限実行なのでフルパスで記述することと、終了しないスクリプトの場合にはバックグランド動作とするために最後に”&”を付加します。

 

admin

Python 3を使う@raspberry pi zero

パッケージの互換とか面倒になって来たので、python3を標準とするように変更。元々のイメージにはpython2とpython3はインストール済みです。

・シンボリックリンクの切り替え

$ cd /usr/bin

$ sudo unlink python

$ sudo ln -s python3 python

でpythonコマンドでpython2.7でなくpython3.7が呼び出されます。この先考えるとpython3の方が確実に便利になる筈。

・mysqlへの接続モジュール追加インストール

python3にしたらpythonスクリプトからはmysqlに接続できなくなって、python3用としてのmysqlcliantをインストール

$ sudo apt-get install python3-dev ; 事前準備でこのドライバー必要と

さらにpython3でpip使えないので、

$ sudo apt install curl ; curl入ってないのでインストール

$ curl “https://bootstrap.pypa.io/get-pip.py” -o “get-pip.py” ; ソースを持ってくる

$ sudo python get-pip.py ; pipインストール

ここまでが準備で、

pipがインストールできたのでmysqlclientをインストール

$ pip install mysqlclient

 

admin

PythonによるExcelファイル操作

既に存在しているExcelファイルのデータ処理という側面もあるけれども、もっと使えそうなのは、例えばCSVファイルを事前に編集してExcelファイルを作るとかの方向なのかもしれない。

いずれにしろPythonによる自由度の獲得は使い道が多そうです。

 

admin

pythonテキスト

pythonを一通り理解するためのテキスト、全部で11章あるけれども9章までは完了。残りはオブジェクト指向に関する部分だから、概ね完了の感覚です。最後の方はページ数の関係もあるせいか、読む側からすると未消化な記述になっているので、他の情報参照が必須。

Python自体は、まだまだ発展途上の言語というのが印象!

admin

Python

今までPythonは必要に迫られた時に断片的に使ってきましたが、

1. Raspberry PIの音楽サーバーで、DIO制御用にスクリプト記述必要だったから

2. 機械学習のチュートリアルで、機械学習ではライブラリ豊富なPyhton標準

3. 2項とも関連しますが、画像処理で

ある程度体系的、網羅的にカバーしておく必要があるかなと思い始めてます。

admin