[python-nl] classes importeren uit subfolders

A.T.Hofkamp a.t.hofkamp at tue.nl
Thu Mar 9 17:21:24 CET 2006


Hallo,

UnrealEd wrote:

> na even gecheckt te hebben, blijkt dat hij niet
> "E:/Documenten/Server/Cities-Of-Faith/Python" in de path heeft staan, maar
> wel : "E:/Documenten/Server/Cities-Of-Faith/Python/MasterClass".
> Ik heb dat even veranderd, en nu werkt het dus.
> Moet je dat elke keer terug instellen als je je computer opnieuw opstart, of
> is er een mogelijkheid om dat automatisch te doen?

Ik kan je hier niet echt een antwoord op geven, de laatste keer dat ik iets 
'echt' gedaan heb onder Windows is minstens 10 jaar geleden, ik draai thuis 
nog Win95 voor web en DOS-spellen, verder alleen maar Unix-en.


Je kunt onder Windows vast environment variabelen instellen bij opstarten.
In mijn tijd was dat in c:\autoexec.bat, maar dat is een tijdje geleden (DOS 5 
oid).

Anders kun je misschien in een start script (start.bat oid was dat vroeger) 
waarmee je het spel opstart misschien iets doen met environment variabelen?
De exacte syntax kan ik je niet meer vertellen, dat is te lang geleden.

Als je een start-punt hebt in Python (bijv run_cities.py) zou je sys.path 
kunnen uitbreiden *voor* de eerste import van het spel.
(iets als

import sys
sys.path('E:/Documenten/Server/Cities-Of-Faith/Python')

import Masterclass
)
Dan heb je geen environment variabele nodig (die dan ook niet verkeerd kan 
staan, of niet aanwezig is bijv op een andere machine of een ander account).

Als je Python start vanuit een of ander IDE programma, kun je vast aan dat 
programma vertellen waar Python sources staan.

Nadeel van de meeste van deze oplossingen is dat je ergens het hardcoded pad 
naar de game bibliotheek hebt staan, als je de sources verplaatst naar elders 
valt er dan vervolgens van alles om.


Albert


More information about the Python-nl mailing list