PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Python- Aufruf einer Funktion in einem anderen Script



newc0mer
02-04-2008, 23:16
Hallo

Ich habe folgende file struktur:


misc
|--> sysinfo.py (mit funktion def gatherSysInfo())
start.py


wenn ich nun in start.py folgendes mache:


import misc
misc.sysinfo.gatherSysInfo()


heisst es AttributeError: 'module' object has no attribute 'sysinfo' wobei ich ja kein attribute sondern die funktion aufrufen möchte...
kann da jemand weiter helfen?

mehlvogel
04-04-2008, 06:57
Ich hätte das so importiert:



import misc.sysinfo

newc0mer
07-04-2008, 11:49
hallo

es hat bisschen weiter geholfen.
nun gibts noch diese meldung:


NameError: global name 'gatherSysInfo' is not defined

gibt es in python namespaces oder etwas, was ich beachten muss? ich habe desweiteren die funktion auch nicht public/private/protected markiert... muss ich sowas noch tun?

mehlvogel
07-04-2008, 12:34
Entweder


from misc.sysinfo import gatherSysInfo
...
gatherSysInfo()

oder


import misc.sysinfo
...
misc.sysinfo.gatherSysInfo()

sollten es tun. Speziell markieren musst du die Funktion nicht.

newc0mer
07-04-2008, 13:09
habe die 2te variante gewählt. finde ich irgendwie eleganter. das ging dann auch gleich, thx :)