Modül dizininin bir alt dizininde bazı kaynaklar kullanan bir Python modülüm var. yığın taşması üzerine civarında arama ve ilgili cevaplar bulduktan sonra, ben başka bir yerden modülü çağırdığınızda Bu iyi çalışırCWD değiştiğinde bir Python modülünde göreceli bir yolu nasıl kullanırım?
import os
os.path.join(os.path.dirname(__file__), 'fonts/myfont.ttf')
gibi bir şey kullanarak kaynaklara modülü yönlendirmek başardı ama modül çağırdığınızda kırılır Geçerli çalışma dizinini değiştirdikten sonra. Sorun __file__
içeriği dikkate Dizini değiştirdim gerçeğini almaz bir göreli yolu, olmalarıdır:
>>> mymodule.__file__
'mymodule/__init__.pyc'
>>> os.chdir('..')
>>> mymodule.__file__
'mymodule/__init__.pyc'
ben __file__
mutlak yolunu kodlamak nasıl veya kısıtlama nasıl ki Mevcut çalışma dizini ne olursa olsun, kaynağımdaki kaynaklara erişebilir miyim? Teşekkürler!
Teşekkürler, bu mükemmel çalışıyor! Çalışma dizinini değiştirmekten kaçınmak için de dikkatinizi aklımda tutacağım. – jvkersch