funktionen übergeben!

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Gast

funktionen übergeben!

Beitragvon Gast » Freitag 13. Februar 2004, 12:29

hallo zusammen!

ich habe ja ein modul webtool erstellt. diverse cgi skripten brauchen diesselbe funktion. fast jedes liest eine datei aus

also kann man im modul eine funktion wie folgt definieren:

Code: Alles auswählen

def auslesen(dialog,option,funktion):
   f=file(dialog,option)
   textzeilen=funktion
   f.close()
   return textzeilen



mein problem: ich würde gern auch die funktion übergeben wie angedeutet: im einen skript brauche ich nämlich eine liste also

Code: Alles auswählen

textzeilen=f.readlines()
im anderen ein string objekt, also

Code: Alles auswählen

textzeilen=f.readline()


der aufruf müsste lauten in etwa

Code: Alles auswählen

auslesen('pfad','r',f.readlines())

das geht aber natürlich nicht.

wer kann mir hier weiterhelfen?

mfg

rolgal
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 13. Februar 2004, 12:31

Hi rolgal,

Code: Alles auswählen

auslesen('pfad','r',f.readlines)



Gruß

Dookie
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 13. Februar 2004, 12:41

uups, da du das file ja erst in der funktion öffnest

Code: Alles auswählen

def auslesen(dialog,option,funktion):
   f=file(dialog,option)
   textzeilen=funktion(f)
   f.close()
   return textzeilen

auslesen('pfad', 'r', file.readlines)



Gruß

Dookie
Gast

Beitragvon Gast » Freitag 13. Februar 2004, 13:33

hi dookie!

langsam wird es wohl mal zeit, dass ich mich erkenntlich zeige, du bist ja eine unglaubliche hilfe.
da ich in innsbruck wohne und du in salzburg (laut profil) und ich auch noch immer wieder in salzburg bin, denke ich ist es angebracht dich mal zum essen oder sonstwas einzuladen.

warum das genau funktioniert ist mir noch net so klar, also wenn es :oops: dir nichts ausmacht mir das kurz zu erläutern :roll:

mfg

rolgal
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 13. Februar 2004, 15:49

Hi rolgal,

das mit dem Essen können wir mal machen am besten meldest Dich mal per PM oder Mail :D

readlines ist eine Methode von file-Objekten. Da Methoden in Klassen definiert werden, sind sie auch über die Klasse erreichbar, dann muss aber eine Instanz der Klasse als erster Parameter mitübergeben werden. Etwas tricky aber es funktioniert.


Gruß

Dookie
Gast

Beitragvon Gast » Freitag 13. Februar 2004, 15:51

eigentlich sonnenklar!

wohl nur noch nicht so geübt!

:D

Wer ist online?

Mitglieder in diesem Forum: Baidu [Spider], Bing [Bot], Majestic-12 [Bot]