LoginSignup
13
16

More than 5 years have passed since last update.

Python のモジュールのソースを手軽に確認する方法

Last updated at Posted at 2014-08-22

https://github.com/trsqxyz/prins

Usage

>>> import prins
>>> p = prins.prins()
>>> p.dropto('this', 'prins', 'spam')
Not Found spam.

imp.find_module( ) でソースファイルを read で開いてくれるのわかったので知りたいの一気にテキストファイルに書き出したくなってつくった
文字列で渡してない引数は文字列に変換してるけど import してあるとちゃんと探してくれない
標準モジュールを知るときとか便利になるかなと思う

Prins は Print source の略です

2014-08-24 10:46 追記

コメントいただきました。

標準モジュールを探したりするときにはpydoc -p 8080などしてpydocのサーバー立ち上げたりすることが有ります。

pydoc -p 8080 で Python 2.x pydoc3 -p 8080 のあと b で Python 3.x のドキュメントを閲覧することが出来ました。めっちゃ便利

あと、この記事のようなモジュールに関する情報を知りたい場合にはinspectパッケージが便利です。
例えば、

import re
import inspect

print(inspect.getsourcefile(re)) # ファイルパス取得
print("".join(inspect.findsource(re)[0])) # ファイルの中身取得

ターミナルなどで確認するときはこの方法がスマートでいいなと思いました。

ただ inspect.filesource( )inspect.getsource( ) があったので違いを調べてみました。

>>> import re
>>> import inspect
>>> type(inspect.getsource(re))
<class 'str'>
>>> type(inspect.findsource(re))
<class 'tuple'>

なので print(inspect.getsource(re)) でも確認可能です。
@podhmo ありがとうございました。

13
16
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
16