2012-08-01 15 views
7

buldum ben bu desene çok kullanıyorum o:yığınında işlevi bir seviye up __FILE__ alın

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

yüzden bir dosyada bir işlev koymak karar verdiğiniz

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

şey __file__akım dosya ve dolayısıyla cari klasörü döndürür ve ben bütün noktası cevapsız: birçok tür küçük yarar vardır. Ben bu çirkin kesmek yapmak (ya da olduğu gibi sadece desen yazmaya devam) olabilir:

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

ve sonra buna çağrısı aşağıdaki gibi görünecektir:

filepath_in_cwd(__file__, "my_file.txt") 

ama eğer bunu tercih ediyorum Yığında bir seviye yukarı olan işlevin __file__ değerini almanın bir yolu vardı. Bunu yapmanın bir yolu var mı?

cevap

İlgili konular