コマンドラインから、--after=5m
みたいな感じで渡される、時間を表す文字列をうまくパースするライブラリ py-timeparser を作りました。
PyPI にも上げたので、pip install py-timeparser
でインストールできます。
timeparser っていうライブラリもありますが、別物なので注意しましょう。
/(([0-9]+)h(our)?)(([0-9]+)m(in(ute)?)?)(([0-9]+)(s(ec(ond)?)?)?)/
っていう正規表現にマッチする文字列をパースします*1。要するに、
- 時間は hour, h のいずれかを単位として指定
- 分は minute, min, m のいずれかを指定
- 秒は sec, s または単位なし
- 時間・分・秒の順に並べる
です。
使い方
import timeparser print(timeparser.parse('10min')) # 600
疑問
- こういう文字列をパースするときのベストプラクティスってないんですか
- PyPI にパッケージ登録するのに HTTP 通信しかできないのどうにかなりませんか
- 生パスワードを送信・保存するの怖すぎる
- SSH にも対応しているって聞いたけどどうやるんだろう
*1:これもうちょっどどうにかならないかな