2012-08-01 13 views
7

Odkryłam, że używam tego wzorca dużo:Pobierz __FILE__ funkcji jeden poziom wyżej w stosie

os.path.join(os.path.dirname(__file__), file_path) 

więc zdecydowałem się umieścić w funkcji w pliku ma wiele takich małych narzędzi:

def filepath_in_cwd(file_path): 
    return os.path.join(os.path.dirname(__file__), file_path) 

rzecz w tym, __file__ zwraca plik prąd zatem prąd folder, a Tęskniłam cały punkt. Mogłem to zrobić brzydki siekać (lub po prostu zachować pisania wzór jak jest):

def filepath_in_cwd(py_file_name, file_path): 
    return os.path.join(os.path.dirname(py_file_name), file_path) 

a następnie rozmowa z nim będzie wyglądać następująco:

filepath_in_cwd(__file__, "my_file.txt") 

ale wolałbym, gdybym miał sposób na uzyskanie __file__ funkcji o jeden poziom wyżej w stosie. Czy jest jakiś sposób na zrobienie tego?

Odpowiedz