次はラズパイでファイル入出力に挑戦。SDカード内へのファイル入出力。
これは多少試行錯誤があったが成功。途中で、Thonnyにスペースとタブの使い方が悪い的な怒られ方をしたが、結局原因わからず迂回。Pythonはインデントで文章構造を理解しているようだが、これが裏目に出てしまうことがあるようだ。スペースもタブも改行も確認したが。。
次はLAN上にあるネットワークHDDへのアクセス。
PythonでWindows共有フォルダへアクセスを参考にした。
pipコマンドとaptコマンドの違いがようわからないが、言われた通りpipを実行。pysmbをインストールして最小構成コードを実行したが、動かない。import文のsmb.smbconnetionのsmbというモジュールが存在しないと怒られる。どのサイトを見ても最小構成コードは同じで、悩ましい。
pipではなく、ラズビアンのほうにsambaをインストールしてみたが、結果は同じ。このエラーの解消には結構労力をかけた。
Pip listコマンドをみてみると、smbパッケージが表示されない。もう1回pysmbインストールを行ってみると、python2のフォルダっぽいパスが表示される。これまで見たサイトで、python3とpython2の互換性がなさそうな表現があったので、確認すると、ラズパイにはpython2と3が両方入っていた。
Python3とPython2共存環境で3にpipでパッケージインストールする方法
このサイトに従い、python3のほうにpysmbパッケージをインストールしてみると・・・最小構成でエラーは出なくなった!pythonのどのバージョンを使っているのか、意識することを学んだ。Pip listコマンドでは相変わらずsmbが表示されないが。。
で、次。
「Unable to connect to shared device」の表示。ここからはsambaプロトコルとの闘いか?→大きな苦労をせずにネットワークHDDにテキストファイルを保存できた!これで、途中で電源が切れてもファイルは残せる。(OSはクラッシュするかもしれないが。。)