2017-10-01 4 views
-2

lib.pyの関数fは、os.path.basenameを返します。Pythonのライブラリ関数の現在のファイル名

1.pyからf()を呼び出すと、私は 'lib.py'を返します。 私は '1.py'を返すようにf()を変更できますか?

+1

あなたが使用しているコードをutに提供する必要があります。 'f()'は組み込み関数ではありません。 – Torxed

+1

コードスニペットを追加してください。 – Harry

+0

どの関数が 'f'を呼び出したかを調べ、その関数が定義されているファイルを出力する方法を尋ねていますか?はいの場合、それは良いアイデアのようには聞こえません - おそらくあなたがしようとしていることをより詳細に説明することができます。もしそうでなければ、あなたは何を求めていますか? –

答えて

0

sys.argv[0] - CLI引数#0は実行されているスクリプトです。

これは、python 1.pyまたは./1.pyと呼ばれる場合にも影響しません。どちらの場合も、sys.executableはpythonバイナリファイルを見つけることで使用できます。スクリプトは常に引数#0になります。

インタラクティブモードから呼び出されると、空の文字列になります。スクリプトが実行されていないためです。

+0

ありがとう!できます! –

関連する問題