Tüm .py dosyalarını barındıran bir dizinimiz olsun:
bin/
main.py
user.py # User sınıfı
dir.py # Dir sınıfı
main.py’de user.py ve dir.py sınıflarını kullanmak isteyelim.
Bu Python sınıflarını main.py içine nasıl aktarabiliriz?
Ya da, user.py bir alt dizindeyse bu sınıfı nasıl alabiliriz?
bin/
dir.py
main.py
usr/
user.py
Python 2
Dosyayla aynı dizinde olan __init__.py
isimli boş bir dosya oluşturun. Bu, Python’a “bu dizinden almanın normal” olduğunu gösterecektir.
Böylece aşağıdakini yapabiliriz:
from user import User
from dir import Dir
Dosyalar bir alt dizindeyse de aynı şey geçerlidir – alt dizine de bir __init__.py
koyun ve sonra nokta gösterimi ile düzenli içe aktarma deyimlerini kullanın. Her dizin düzeyi için alma yoluna eklemeniz gerekir:
bin/
main.py
siniflar/
user.py
dir.py
Örneğin dizinimizin adı “sınıflar” ise, şunu yaparız:
from siniflar.user import User
from siniflar.dir import Dir
Python 3
Python 2 ile aynı şekilde yaparız. Ancak bu sefer modül adının önüne önek olarak .
getiririz (tabi ki sınıf bir alt dizinde değilse):
from .user import User
from .dir import Dir