Komut dosyalarıyla dolu bir dizinim var (diyelim project/bin
). Ayrıca içinde bir kitaplığım var project/lib
ve komut dosyalarının onu otomatik olarak yüklemesini istiyorum. Normalde her betiğin üstünde kullandığım şey bu:
#!/usr/bin/python
from os.path import dirname, realpath, sep, pardir
import sys
sys.path.append(dirname(realpath(__file__)) + sep + pardir + sep + "lib")
# ... now the real code
import mylib
Bu biraz külfetli, çirkin ve her dosyanın başına yapıştırılması gerekiyor. Bunu yapmanın daha iyi bir yolu var mı?
Gerçekten umduğum şey şu kadar pürüzsüz:
#!/usr/bin/python
import sys.path
from os.path import pardir, sep
sys.path.append_relative(pardir + sep + "lib")
import mylib
Ya da daha da iyisi, editörüm (veya erişim yetkisi olan başka biri) temizleme sürecinin bir parçası olarak ithalatı yeniden düzenlemeye karar verdiğinde bozulmayacak bir şey:
#!/usr/bin/python --relpath_append ../lib
import mylib
Bu, doğrudan posix olmayan platformlara bağlanmaz, ancak işleri temiz tutar.