Python’da yolu belirtilen bir modül nasıl import edilir?

Python 3.

İlişkili olduğu konular : python-modules

Python 3.5+ için:

import importlib.util
spec = importlib.util.spec_from_file_location("module.name", "/dosya/konumu/dosya.py")
foo = importlib.util.module_from_spec(spec)
spec.loader.exec_module(foo)
foo.MyClass()

Python 3.3 ve 3.4 için şunları kullanın:

from importlib.machinery import SourceFileLoader

foo = SourceFileLoader("module.name", "/dosya/konumu/dosya.py").load_module()
foo.MyClass()

(Python 3.4’te bu yöntem artık kaldırıldı.)

Python 2 için ise aşağıdakini kullanın:

import imp

foo = imp.load_source('module.name', '/dosya/konumu/dosya.py')
foo.MyClass()


Peki üst düzey modülünüz bir dosya değilse ve __init__.py içerecek şekilde bir klasörde paketlenmişse, o zaman ne yapacağız? Bu durumda Python 3.5+’ta aşağıdaki kod gereklidir (‘sys.modules’ ile başlayan eklenen satıra dikkat edin):

MODULE_PATH = "/path/to/your/module/__init__.py"
MODULE_NAME = "mymodule"
import importlib
import sys
spec = importlib.util.spec_from_file_location(MODULE_NAME, MODULE_PATH)
module = importlib.util.module_from_spec(spec)
sys.modules[spec.name] = module 
spec.loader.exec_module(module)

Bu yazı topluluk tarafından oluşturuldu. Lisans bilgisine bakabilirsiniz. Yanlış veya eksik bilgileri düzenlemek için github üzerinden katkıda bulunabilirsiniz.

Kategoriler: Yazı, Python

Okumaya devam et!

Python’da dizelerdeki boşluk nasıl kırpılır?

Bir string’ten boşluk (ve sekmeler) karakterlerini kırpmak istiyoruz.

Python’da metaclass nedir?

Obje olarak Class metaclass’ları anlamadan önce, Pythondaki class’ı tamamıyla anlamamız gerekir.

Yorum Gönderin

E-posta hesabınız yayımlanmayacak.

koddla
Tema Mundana by WowThemes.net.