この記事はGit Advent Calendar 2013の12日目の記事です.
前日は@sonotsさんのgit current-branch, git fetch-pulls, git pull-dry-run など git alias ネタでした.
gitはコマンドを実行するとき,まずgit --exec-path
のパスの中からコマンドを探し,なければユーザーのPATHの中からコマンドを探して実行します.
$ git --exec-path
/usr/lib/git-core
そのためPATHの通った場所にgit-コマンド名
という実行ファイルを置くだけでユーザーが自由にサブコマンドを作れる便利な仕組みとなっています.
ということで,pythonでgitのサブコマンドを作ってみました.
このサブコマンドはファイルを最初にコミットした日付と最後にコミットした日付(とそのハッシュ)を表示するコマンドです.
... 続きを読むPythonには標準でコマンドラインオプションを解析するモジュールがついてるんですが、
愚直に書いてるとすごくだらだらと長くなってしまうし、ぱっと見わかりづらいですよね。
それにPython2.7以上とかだったりで、結局古い方のモジュール使わないといけないし・・・とか。
そこで簡単にオプションをパースできるdocoptとschemaについて紹介します。
... 続きを読むpythonはファイル名にハイフンをつけることは推奨していない. というかハイフンがあるファイルをモジュールとしてimportしようとするとシンタックスエラーになる.
しかし,やんごとなき理由でどうしてもハイフンのつくファイルをimportしたい時もあるかもしれない.
そういう時はimportlib.import_module
を使うと読み込める.
importlib.import_module
はpython2.7/3系で使える.