Seite 2 von 2
Verfasst: Samstag 22. November 2008, 16:57
von Leonidas
roschi hat geschrieben:- die ``exit()``-Funktion scheint mir irgendwie arg sinnlos zu sein.
die braucht es wegen dem menue-kram
Wo? Ich sehe nur, dass du ``exit()`` mit einem Returncode ausfühst und ``choosed`` immer ``None`` ist und in der Funktion auch gar nicht verwendet wird.
roschi hat geschrieben:- ``os.system`` wäre durch ``subprocess.call`` zu ersetzen.
Traceback (most recent call last):
File "C:\projects\tel\tel.py", line 194, in <module>
main()
File "C:\projects\tel\tel.py", line 186, in main
clear()
File "C:\projects\tel\tel.py", line 16, in clear
subprocess.call("cls")
File "C:\Python25\lib\subprocess.py", line 444, in call
return Popen(*popenargs, **kwargs).wait()
File "C:\Python25\lib\subprocess.py", line 594, in __init__
errread, errwrite)
File "C:\Python25\lib\subprocess.py", line 816, in _execute_child
startupinfo)
WindowsError: [Error 2] Das System kann die angegebene Datei nicht finden
In dem Fall ``shell=True``, weil ``cls`` und ``clear`` eingebaute Befehle der Shell sind. Außerdem ist es zu bevorzugen, den Subprocess-Befehlen Listen statt Strings zu übergeben.
roschi hat geschrieben:- (wobei ich das clearen irgendwie generell unpraktisch finde)
NAJA - das ist ansichtssache, aber gut:
Das hat sich ziemlich universell so durchgesetzt, ich nutze kein einziges Programm unter Linux dass die Konsole leert (und ich bin ziemlich sicher, dass ich mehr Konsolenprogramme unter Linux nutze als du unter Windows). Wenn man vollständige Kontrolle über das Konsolenfenster haben will, verwendet man meist eher ncurses, womit man dann ganze grafische Oberflächen macht, mit Eingabemasken und allem.
roschi hat geschrieben:- was "choosed" ist, ist mir hingegen völlig unklar.
die stelle des menueeintrages in der menue-liste, der gewaehlt wurde.
"Meinten Sie: choice?"

Verfasst: Samstag 22. November 2008, 18:15
von roschi
Leonidas hat geschrieben:"Meinten Sie: choice?"
AUA! -

- wie peinlich! nein, ich meinte 'chosen'.
aber gut, ich habe nun das 'ConsoleMenu'-Modul umgeschrieben, und jetzt braucht man das nicht mehr - war sowieso schwachsinn!
außerdem kann man sich nun aussuchen, ob man das script mit oder ohne cleaning laufen lassen moechte.
hier ist das script, und
hier das 'ConsoleMenu'-Modul.
lg
roschi
Verfasst: Mittwoch 26. November 2008, 21:45
von moreeze
Hi zusammen!
Also ich hab mir eure Posts durchgelesen und auch schon angefangen mir das alles durchzuarbeiten, allerdings hab ich eine Zwischenfrage:
Ich hab mir das Tutorial zum Speichern von Einträgen durchgelesen und habe dazu eine Frage:
Zum Speichern von Text in einer Textdatei muss man das nach dem Tutorial so machen:
Code: Alles auswählen
# Schreiben
s = "Das ist mein Text"
f = file("dateiname.txt", "w")
f.write(s)
f.close()
Nun möchte ich allerdings meine Eingaben in diese Datei schreiben und diese Textdate nach zwei Eingaben, die gemacht wurden benennen.
Das heißt wenn jemand Max Mustermann heißt, dann soll die Textdatei "mustermannmax.txt" heißen...
Dazu sollen halt die Eingaben da rein wo jetzt "Das ist mein Text" steht, wie geht das?
Das bekomm ich leider nicht hin. Vllt könnt ihr mir ja helfen wie ich da weiterkomme!
Lg Moreeze
Verfasst: Mittwoch 26. November 2008, 21:52
von numerix
Damit kannst du ein bisschen herumbasteln:
Code: Alles auswählen
name = "Max Mustermann"
dateiname = "".join(name.split()[::-1]).lower()+".txt"
datei = open(dateiname,"w")
datei.write(name)
datei.close()
Verfasst: Mittwoch 26. November 2008, 22:14
von moreeze
Danke dafür!!!
Habs auch soweit erstma hinbekommen, nur dass auch alle Eingaben übertragen werden klappt noch nicht, ich glaube ich mache irgendetwas mit der Liste falsch:
Code: Alles auswählen
# Informationen für die Datei
kennung = name + vorname
writelist = [
"Name: " + name, + " " + "Vorname: " + vorname \n,
"Adresse: " + adresse \n,
"PLZ, Wohnort: " + wohnort \n,
"Telefon: " + telefon \n,
"Handy: " + handy \n,
"Email: " + email \n,
"Code: " + code
]
# In Datei schreiben
dateiname = "".join(kennung.split()[::-1]).lower()+".txt"
datei = open(dateiname,"w")
datei.write(writelist)
datei.close()
Vllt kann ja jemand helfen!
Gruß
Moreeze
Re: Anfänger braucht Hilfe beim Weiterkommen in einem Projek
Verfasst: Mittwoch 26. November 2008, 22:28
von numerix
moreeze hat geschrieben:Hallo zusammen!
Ich bin neu hier im Forum und genauso neu in der Welt von Python.
Das zeigt deine letzter Code auch ganz deutlich.
Ich denke, es wäre der richtige Weg, dass du dir mal ausreichend Zeit nimmst, das Python-Tutorial oder ein ordentliches Python-Buch (zumindest die ersten Kapitel davon) durchzuarbeiten. Deine Probleme sind grundlegender Natur.
Verfasst: Mittwoch 26. November 2008, 23:53
von abgdf
Oben hatte ich schon geschrieben:
Versuch' doch auch zuerst, die Funktionalität in den Griff zu kriegen: Willkommensbildschirm, Passwortabfrage usw. können dann später dazukommen.
Das gilt für die Verwaltung mehrerer Benutzer entsprechend.
Gruß
Verfasst: Donnerstag 27. November 2008, 00:16
von moreeze
Hi!
Das hab ich doch auch gar nicht mehr drin...
Es geht mir ja nur drum die Eingaben in die Datei zu schreiben, aber ich krieg das mit dem Einfügen der Eingaben nicht hin...=(
Verfasst: Donnerstag 27. November 2008, 11:32
von BlackJack
@moreeze: Deswegen sollst Du ja Python lernen, damit Du das selber hinbekommst und nicht einfach Quelltext von anderen zusammen kopierst ohne zu verstehen was da passiert. Du kannst mir nämlich nicht erzählen, dass Du verstanden hast, was Numerix' Zeile mit dem Dateinamen macht. Wenn Du's nicht verstehst, solltest Du's nicht verwenden, sondern so lange Python lernen bis Du weisst *warum* die Zeile den gewünschten Dateinamen liefert.
Auch das Du `kennung` erst zusammen setzt, um es dann später mit `str.split()` wieder zu trennen, zeigt, dass Du wohl eher "programming by accident" betreibst, statt planvoll vorzugehen.
Dein Quelltextschnipsel ist syntaktisch nicht korrekt. Das sollte Dir Python aber auch ziemlich deutlich mit einem `SyntaxError` sagen.