Nun möchte ich diese auch sortieren, erstmal nur nach dem Filmtitel
Code: Alles auswählen
choice = 0
weiter = True
import pickle as p
moviefile = 'simmsave'
class film:
def __init__(self, name, year,lend):
self.name = name
self.year = year
self.lend = lend
print 'Film %s initialisiert' % self.name
def info(self):
print '"%s" "%s" "%s" ' %(self.name, self.year, self.lend)
try:
f = file(moviefile)
gl = p.load(f)
except:
ab = []
f = file(moviefile, 'w')
p.dump(ab, f)
f.close()
def menu ():
print 'Bitte Auswahl treffen'
print ' (1) Um die komplette Liste anzuzeigen'
print ' (2) Um einen Film zu suchen'
print ' (3) Um einen neuen Film hinzuzufuegen'
print ' (4) Um einen Film zu loeschen'
print ' (5) Liste Sortieren'
print ' (6) Um zu speichern'
print ' (0) Beenden'
menu()
while True:
choice = int(raw_input('Was wollen sie machen? '))
if choice == 1:
print 'Titel Jahr Verliehen an'
if len(gl) > 0:
for item in gl:
item.info()
else:
print 'Noch nichts in die Liste eingetragen'
elif choice == 2:
searchitem = raw_input('Nach was suchen?: ')
for titel in gl:
if titel.lend == searchitem:
titel.info()
break
else:
print 'Name nicht gefunden'
elif choice == 3:
new_name = raw_input('Bitte Filmnamen eingeben: ')
new_year = raw_input('Bitte Erscheinungsjahr eingeben: ')
new_lend = raw_input('Verliehen?: ')
new_name = film(new_name, new_year, new_lend)
gl.append(new_name)
elif choice == 4:
deleteitem = raw_input('Welchen Film loeschen? ')
for film in gl:
if film.name == deleteitem:
gl.remove(film)
print 'Film geloescht'
break
else:
print 'Kann Film nicht finden'
elif choice == 6:
f = file(moviefile, 'w')
p.dump(gl, f)
f.close()
print 'Filmliste gespeichert'
elif choice == 0:
save = raw_input('Speichern vor dem Beenden?(j/n) ')
if save == 'j':
f = file(moviefile, 'w')
p.dump(gl, f)
f.close()
print 'Liste gespeichert, Programm Beendet'
break
elif save == 'n':
print 'Beendet ohne zu speichern'
break
elif choice == 5:
gl.sort()
print 'Sortiert'
Habe vorher ein ähnliches Programm geschrieben das allerdings nur die Namen in eine Textdatei eingelesen hat, und da hats mit
gl.sort()
funktioniert.