を使用してスタック フレームを取得するとしますsys._getframe(1)
。これは明らかに現在のフレームではありません。
ここで、何らかの方法で、外側のスタック フレームに移動し、多分x=10
のようなステートメントを実行して、そのフレームに変数を作成したいと考えています。
そのように変数を設定するのは良い習慣ではないことは理解していますが、それは他のステートメントかもしれません。で、肝心なのはそのコマにどう動くかです。with(frame)
動作しないようです。
それは可能だと思いますが、そうでなければ、モジュール内にgetinnerframes
とという 2 つの関数があるのはなぜですか? 外側のフレームに移動できない場合、なぜ内側のフレームを使用する必要があるのですか?getouterframes
inspect
編集:モジュールには、ドキュメントが言ってpdb
いる上下に2つのコマンドがあります
d(own) スタック トレース内で現在のフレームを 1 レベル下に (新しいフレームに) 移動します。
u(p) スタック トレースで現在のフレームを 1 レベル上に (古いフレームに) 移動します。
これは私の場合に役立ちますか?はいの場合、どのように使用しますか?