Já bych řešení zkombinoval. Do sys.path dal cestu odvozenou od __file__ (tedy to, co dáváte do os.chdir() a upravené o "../modules", bych dal do sys.path).
import os import sys sys.path.append(os.path.abspath(os.path.join(__file__, "..", "..", "modules"))) PM 2010/5/28 Radek Machulka <radek.machu...@gmail.com>: > Zdravím, > > pro většinu projektů volím následující adresářovou strukturu: > > projekt/utils - adresář obsahující spouštěné scripty > projekt/modules - adresář s moduly (externí kód relevantní jen k danému > projektu) > projekt/conf - konfigurační soubory > projekt/data - adresář obsahující výsledky běhu programů > > Import externích funkcí z modulů v projekt/modules resim takto: > > import sys > sys.path.append("./../modules/") > from modul import funkce > > Problém pochopitelně nastane v případě, že script nespouštím z adresáře > projekt/utils, resp. pokud je os.getcwd() různá od projekt/utils. > Zatím to řeším nastavením pracovního adresáře: > > import os > os.chdir(os.path.split(os.path.abspath(__file__))[0]) > > Každopádně mi to nepřijde rozhodne dvakrát elegantní. > Jak to řešíte vy? > > Dík > Radek _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python