Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.


>>> 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 のドキュメントを閲覧することが出来ました。めっちゃ便利


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 ありがとうございました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away