私は一般的なPython /コーディングの初心者ですが、この文書を読むのに問題があります。 https://docs.python.org/2/library/inspect.html#python用のinspectモジュール
inspect
モジュールの使用方法を理解しようとしています。 このファイルはTestClassA.pyと呼ばれている:私は何をしようとしている
import inspect
class TestClassA(object):
def __init__(self):
print "this is crazy!"
print inspect.isclass(TestClassA)
#result is True
はそれにTestClassA
、すべてを返すことです。
TypeError: <module '__main__' (built-in)> is a built-in class
しかし、これはおかしいです:基本的な考え方は、私のコードをコピーすることであり、それはメッセージとして飛び出してきた
print inspect.getsource(TestClassA)
結果があります。私が使用する場合:
print inspect.isclass(TestClassA)
結果はTrueです。
私の究極の目標は、特定の種類のクラスをテキストにコピーすることです(メモ:複数のクラスが1つの.pyファイルの下にある可能性があります)。その特定の種類のクラスを別の.pyファイルに持ち込みます。
誰でもお手伝いできますか? inspect.getsourcefile
とinspect.getsourcelines
が上記の同じ簡単な例を使ってどのように動作するかの例を誰も設定できるのであれば、私は非常に感謝します。
"クラスを文字列にコピーしたいとき" - クラスを文字列にコピーするとどういう意味ですか?クラスの代わりに文字列がある場合、それをクラスとして扱うために 'inspect 'と期待するのはなぜですか? – user2357112
エラーが発生しますか?もしそうなら、完全なトレースバックを投稿できますか?ドキュメントによれば、 '引数はモジュール、クラス、メソッド、関数...'であるかもしれないので、うまくいくはずです。 – mgilson
こんにちはuser2357112私はクラスをコピーし、結果としてクラス全体を返そうとしています。 – Rusher