bcman Posted March 17, 2012 Report Posted March 17, 2012 (edited) Dup? pu?in timp de înv??at Python am f?cut primul meu program mai „serios”. Va crea fi?ierul memorator.txt în care vor fi re?inute datele ?i din care vor fi citite. Are ?i op?iunea de a ?terge cheile din fi?ier. Codul surs?:#!/usr/bin/env python'''Autor: bcmanData: 17 martie 2012Descriere: Un simplu memorator care salveaza cheile si valorile introduse de utilizator in fisierul "memorator.txt"'''import os.pathprint ("Nu uitati, in modul \"Consultati memoratorul\" sau \"Stergeti elemente din memorator\" puteti tasta comanda \"help\" pentru a primi o lista cu toate cheile din memorator\n") filename = "memorator.txt"print ("\n1. Introduceti o valoare in memorator\n2. Consultati memoratorul\n3. Stergeti elemente din memorator\n4. Parasiti programul\n")optiune = input ("Introduceti optiunea: ")memo ={}while optiune != 4: if optiune == 1: if os.path.isfile(filename): f = open(filename, "r") memo = eval(f.read().strip()) f.close() g = open(filename, "w") key = raw_input("Introduceti o valoare cheie: ") value = raw_input("Introduceti o valoare corespondenta cheii: ") temp = {key:value} memo.update(temp) g.write(str(memo)) g.close() elif optiune == 2: f = open(filename, "r") memo = eval(f.read().strip()) key = raw_input("Introduceti cheia dupa care doriti sa se efectueze cautarea: ") if key == 'help': print (memo.keys()) print ("\n") elif key in memo == 0: print ("Cheia nu se afla in memorator\n") else: print (memo[key]) f.close() elif optiune == 3: f = open(filename, "r") memo = eval(f.read().strip()) f.close() key = raw_input("Introduceti cheia care doriti sa fie eliminata din memorator: ") exis = key in memo if key == 'help': print (memo.keys()) print ("\n") elif exis == False: print ("Cheia nu se afla in memorator\n") else: del memo[key] print ("Cheia a fost stearsa\n") g = open(filename, "w") g.write(str(memo)) g.close() else: print ("Optiunea selectata nu exista\n\n") optiune = input ("\nIntroduceti optiunea: ")Pute?i desc?rca fi?ierul .py de aici.Dac? pute?i s? îmi da?i sugestii, voi ?ine cont de ele la urm?toarele versiuni. În special a? dori s? îmi semnala?i dac? folosesc func?ii deprecated sau dac? nu am scris codul destul de ordonat. Sper s? v? plac?!Special Thanks: @cmiN (Solved : Issue on reading text file) Edited March 17, 2012 by bcman Quote
bcman Posted March 19, 2012 Author Report Posted March 19, 2012 Mul?umesc tuturor pentru feedback!Acum serios, chiar nu îmi poate da cineva vreo idee de ce a?i mai putea ad?uga? Quote
ionut.hulub Posted March 21, 2012 Report Posted March 21, 2012 ai putea sa verifici inputu ca pentru unele valori crapa.si daca i'ai adauga si o interfata grafica... Quote
bcman Posted March 21, 2012 Author Report Posted March 21, 2012 Numai ce am început Python (am f?cut ?i o mic? „pauz?” pentru c? nu mai prea am timp) ?i nu ?tiu s? fac GUI. Plus c? astfel de programe mi-se pare mult mai u?or de utilizat din linie de comand?. ?i pentru ce valori crap?? Quote
ionut.hulub Posted March 25, 2012 Report Posted March 25, 2012 cand zice introduceti optiunea am apasat "s" si a crapat Quote