Hallo Leute,
erstmal bin ich froh das es Euer (hoffentlich auch bald unser ) Python-Forum existiert.
Wie damals im http://www.debianforum.de lese ich hier oft noch Bahnhof. Wird schon.
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
memo
-
- 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:
Gruß
Dookie
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
-
- 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
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
-
- 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
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
/tmp/earth