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.
Antworten
Gast

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
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi rolgal,

Code: Alles auswählen

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

Gruß

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

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

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
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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

eigentlich sonnenklar!

wohl nur noch nicht so geübt!

:D
Antworten