pycommentというライブラリを作りました
pycommentというライブラリを作くりました。 rubytoolsのxmpfilterに似たものをpythonでもやってみたいというやつです。
install
installはいつもどおりpipで。
$ pip install pycomment
how to use
使いかたはpycommentコマンドを使います。するとpythonのコード中の # =>
部分にその時の値が追加されます。
例えば、以下の様なコードが
00.py
def main(): sum([ 10, 20, 30, ]) # => 1 + 1 + 1 + 1 + 1 + 1 + 1 # => (1 + 2 + 3) # => main()
こうなります。しっかり関数の中にあるコメントも認識してくれます。
def main(): sum([ 10, 20, 30, ]) # => 60 1 + 1 + 1 + 1 + 1 + 1 + 1 # => 7 (1 + 2 + 3) # => 6 main()
実際には以下のようなコマンドを実行します。
$ pycomment 00.py # 直接上書きしたい場合には --inplaceをつける $ pycomment --inplace 00.py replace: /tmp/tmpuv00x0cl -> 00.py
もちろん、過去のコメントが残ってしまった以下の様な場合も、更新してくれます。
x = 2 + 3 # => 4
こういう形に。
x = 2 + 3 # => 5
あるいは、標準出力も表示してくれます。
import sys print("hello") print("bye", file=sys.stderr) print("hello")
こういう形に。
import sys print("hello") print("bye", file=sys.stderr) print("hello") # -- stdout -------------------- # >> hello # >> hello
ちなみに例外が出た場合には。inplaceを付けても書き換わりません。
1 + 1 # => 1 / 0 # => 1 + 1 # =>
変化なし。
ちょっとしたコード例を記事に残すのに便利なんじゃないでしょうか。