「 2021年02月08日 」一覧

Windows版Python3.9をインストール

Twitterのツイートログから、学習記録を抽出するスクリプトを書きたかったので、Windows版Python3.9をインストールしました。こうした開発系はLinux環境のほうが慣れているのですが、今のPCにVirtualMachineを入れる余裕はないので、素直にWindows版にしました。

参考にしたのはこちらのページ。ウィザードに従って先へ進むだけですが、デフォルトの選択状態だと、パスの設定をしてくれないのは不親切に感じました。

ところで、Pythonは読んだことはそこそこありますが、書いたことはあまりありません。従来この手のスクリプトは、古くから慣れ親しんだPerlを使ってきましたが、昨今の流行りに乗ってPythonへ移行しようと思います。

さっそく書いてみますが、慣れていないのでいちいち躓きます。

UnicodeDecodeError: 'cp932' codec can't decode byte 0x84 in position 334: illegal multibyte sequence

上記はUTF-8のテキストファイルをオープンした時のエラー出力です。encoding=”utf-8_sig”指定をすることで、解決しました。

File "C:\Users\bokupi\AppData\Local\Programs\Python\Python39\lib\re.py", line 201, in search
    return _compile(pattern, flags).search(string)
TypeError: expected string or bytes-like object

これは、reパッケージのsearch関数に渡した引数が、空の文字列になっていたことが原因でした。空の文字列は文字列として扱われないようですね。C言語だったらNULLポインタ扱いですけど、Pythonだとどういう扱いなんでしょう。調べれば分かると思いますが、現時点でそこまで興味がなかったのでスルー。

未だTwitterのアーカイブログが取得できないので、学習時間の抽出はできていませんが、作成したスクリプトを自分用に貼っておきます。自分用なので汎用性はなく、思いきりハードコーディングしています。拡張子はそのままだとセキュリティ理由で怒られたので、txtに変えました。

【追記】Twitterのアーカイブログは使いにくかったので、Twilogのアーカイブログを使うことにしました。そのためスクリプトを書き直しています。


Run KeeperとGarmin Connectの連携解除

スマホアプリでRun Keeperの設定メニューからGarmin Connectへの連携設定をしたのですが、解除する時に少しハマったので備忘録です。結論としては、Garmin Connect側の設定から連携解除をする必要がありました。

Run Keeper側から連携設定したので、Run Keeper側の設定メニューから連携解除すればOKだと思っていましが、解除後もGarminで計測したデータがRun Keeper側に反映され続けています。不具合で連携が解除しきれていないのかな、と思っていましたが、Run Keeperアプリを一旦削除しても反映が続くので、ちゃんと調べてみました。

その結果、Garmin Connectの設定メニューの「アカウント設定」→「アカウント情報」の「接続されているアプリ」から連携を解除できました。てっきりスマホアプリ側で連携しているのかと思っていましたが、サーバ側で連携していたのですね。