2017-11-21 22 views
-1

関数の呼び出されたファイルの絶対パスを返すutil関数を作成したかったのですが、その方法が見つかりませんでした。関数が呼び出されたファイルの絶対パスを取得します。

これは私が達成しようとしているものです。

は、私は次のディレクトリ構造があるとします。files.py

import os 

def get_current_dir(): 
    return os.path.abspath(os.path.dirname(__file__)) 

service.pyが含まれてい

core/ 
    utils/ 
     __init__.py 
     files.py 
    __init__.py 
    service.py 

は、期待どおりの結果が希望するものではありません

from utils.files import get_current_dir 


print(get_current_dir()) 

が含まれています。私が達成したかった何

/usr/src/app/core
実際の出力:/usr/src/app/core/utils

私はここで多くの回答に探してきたが、それらのどれも機能がパスを決定するために使用された例がありません。

私が探しているものを達成する方法はありますか?

ありがとうございます!

+1

にfiles.py

import os def get_current_dir(file): return os.path.abspath(os.path.dirname(file)) 

にパラメータ として__file__を渡すことができます。あなたはより良い名前を使うべきです。 – VPfB

+0

[** 'inspect' **](https://docs.python.org/3/library/inspect.html#the-interpreterstack) –

答えて

1

あなたは、単に用語 "カレントディレクトリが" 異なるコンセプトのために使用されているservice.py

from utils.files import get_current_dir 


print(get_current_dir(__file__)) 
+0

hah、私はもっと複雑な言葉で考えていました。ありがとう、これはトリックでした! – dimmg

関連する問題