モジュールはどこからインポートされているのですか?
2023-10-17 10:55:44
質問
2つのPythonモジュールがあり、path_bがインポートパスにあると仮定します。
# file: path_b/my_module.py
print "I was imported from ???"
#file: path_a/app.py
import my_module
モジュールがどこからインポートされたかを確認することは可能でしょうか?私は、(ファイル名が必要なので)app.pyを起動すると、"I was imported from path_a/app.py" のような出力が欲しいのですが、可能ですか?
編集してください。 より良い理解のために;私は書くことができます。
# file: path_b/my_module.py
def foo(file):
print "I was imported from %s" % file
#file: path_a/app.py
import my_module
my_module.foo(__file__)
というわけで、出力はこうなります。
$> python path_app.py
I was imported from path_a/app.py
どのように解決するのですか?
もっと簡単な方法があるかもしれませんが、これでうまくいきます。
import inspect
print inspect.getframeinfo(inspect.getouterframes(inspect.currentframe())[1][0])[0]
スクリプトの場所の親ディレクトリである場合、パスは現在の作業ディレクトリからの相対パスで表示されることに注意してください。
関連
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] Pythonでシングルトンを作成する
-
[解決済み] 億の相対的輸入
-
[解決済み] モジュール名を文字列で指定してインポートするには?
-
[解決済み】典型的なテストディレクトリ構造でunittestを実行する
-
[解決済み】Pythonでstdoutをファイルにリダイレクトする?
-
[解決済み] Python Logging - インポートモジュールからのロギングを無効にする
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] Spyderを仮想環境で動作させるには?
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] Python Empty Generator 関数