memo

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
lasius
User
Beiträge: 3
Registriert: Montag 9. Februar 2004, 06:37
Wohnort: NRW-Werne a.d. Lippe & TH-Gotha Kernland

Hallo Leute,

erstmal bin ich froh das es Euer (hoffentlich auch bald unser :wink: ) Python-Forum existiert.
Wie damals im http://www.debianforum.de lese ich hier oft noch Bahnhof. Wird schon. :shock:

Nun mal meine Einsteiger Frage die ich auf den 13 Seiten im Allgemein teil nicht wirklich beantwortet fand.
Theorie:
Ich möchte eine memo Datei erstellen. Es soll ein kleiner Dialog sein dessen Eingabe mit Datum dann in eine Textdatei geleitet werden soll.
Praxis:
Wie leite ich raw_input Eingaben in eine Textdatei? Ich möchte die Eingaben immer in ein und derselben Textdatei speichern.
Unter Linux kenne ich z.B. AufrufXYZ > text

Brauch ich dafür ein modul?
Für Datum kann ich dann das modul calender nehmen?

Besten Dank scho'mal

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

Hi lasius,

erstmal herzlich willkommen im Pythonforum.
Also direkt die raw_input-Eingabe in eine Textdatei umzuleiten ist keine gute Idee. Du nimmst Dir die Möglichkeit die Eingabe zu überprüfen und zu Formatieren. Zum Schreiben von Daten in eine Datei musst Du diese erst öffnen.

Ich hab Dir mal ein Beispielscript auf die schnelle zusammengestrickt:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
    Modul:          memo1
    Description:    Schreibt Memos in eine Datei
    Version:        V0.1
    Copyright:      2003 by Fritz Cizmarov fritz(at)sol.at
    Created:        24. Feb. 2004
    Last modified:  24. Feb. 2004
    License:        free
    Requirements:   Python2.3
"""

from os import path
from time import strftime

PY_MEMO_PATH = path.expanduser("~/")
PY_MEMO_FILE = ".pymemo.txt"

def get_memo(prompt):
    """ Einfache Funktion, um das Memo vom User eingeben zu lassen
        kann auch mittels Tk oder einer anderen GUI erfolgen. Dazu braucht
        nur diese eine Funktion geändert werden
    """
    return raw_input(prompt)

def main():
    """ Hauptfunktion """
    zeit = strftime("%Y-%m-%d_%H:%M:%S") # Zeit als String formatiert
    memo = get_memo("Memo eingeben: ") # Memo eingeben lassen
    
    # Zeit und Memo zusammenfügen mit einem "Linefeed" am Ende
    message = "%s_%s\n" % (zeit, memo)
    
    # Pfad und Dateiname für Memodatei zusammenfügen
    path_to_memos = path.join(PY_MEMO_PATH,PY_MEMO_FILE)

    memo_datei = file(path_to_memos,"a") # Datei zum anfügen öffnen
    memo_datei.write(message) # Zeile in Datei schreiben
    memo_datei.close() # Datei schließen

if __name__ == "__main__":
    main()

Gruß

Dookie
lasius
User
Beiträge: 3
Registriert: Montag 9. Februar 2004, 06:37
Wohnort: NRW-Werne a.d. Lippe & TH-Gotha Kernland

Wow, danke Dookie !!

..werd ich gleich mal nachbasteln.

be well - lasius
/tmp/earth
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Noch eine Anmerkung,

Man könnte das Script auch kürzer machen mit 2 oder 3 Zeilen, ich hab es aber Absichtlich etwas ausführlicher gemacht, damit Du es dann einfacher erweitern und ändern kannst.


Dookie

P.S.: Ich bin auch Debian-User :)
lasius
User
Beiträge: 3
Registriert: Montag 9. Februar 2004, 06:37
Wohnort: NRW-Werne a.d. Lippe & TH-Gotha Kernland

Hi, Dookie

Fuer Neulinge wie mich, ist das Ausfuehrliche sicher der eher nachvollziehbare Weg. Danke nochmals für die schnelle Hilfe.

lasius

Zu Deinem P.S. mein P.S.
..sehr angenehm :D
/tmp/earth
Antworten