Kurs języka Python - Lista 8.

Zadanie 1.

Zadanie 2.

from optparse import OptionParser
import dbm
import sys

def main():
        parser = OptionParser()
        parser.add_option("-f", "--file",       type="string", dest="file")
        parser.add_option("-d", "--delete",     type="string", dest="delete")
        parser.add_option("-a", "--add",        type="string", dest="add")
        parser.add_option("-e", "--edit",       type="string", dest="add")
        parser.add_option("-b", "--borrowed",   action="store_true", dest="borrowed", default=False)
        parser.add_option("-v", "--verbose",    action="store_true", dest="verbose", default=False)
        parser.add_option("-p", "--print",      action="store_true", dest="display", default=False)

        (options, args) = parser.parse_args()
        if not options.file:
                if options.verbose:
                        print "No file specified"
                sys.exit(1)

        try:
                db = dbm.open(options.file, "c")
        except:
                if options.verbose:
                        print "Cannot open file %s." % options.file
                sys.exit(1)     
                                
        try:                    
                if options.display:
                        for title in db.keys():
                                if options.borrowed:
                                        tracks, author, whohas = eval(db[title])
                                        if whohas:
                                                print "Author: %s, Title: %s. Wypozyczone przez: %s." % (author, title, whohas)
                                else:
                                        tracks, author, whohas = eval(db[title])
                                        print "Author: %s, Title: %s" % (author, title)
                                        for n,i in enumerate(tracks.split("\\n")):
                                                print "\t%02d. %s" % (n+1, i)
                                        if whohas:
                                                print "Wypozyczone przez %s" % whohas
                        sys.exit(0)
                        if options.add:
                        vals = (title, tracks, author, whohas) = options.add.split(";")
                        if options.verbose:
                                print "Adding: ", vals
                        db[title] = repr((tracks, author, whohas))
                        sys.exit(0)
                if options.delete:
                        try:    
                                del db[options.delete]
                                if options.verbose:
                                        print "deleted %s" % options.delete
                        except: 
                                if options.verbose:
                                        print "%s nonexistent" % options.delete
                        sys.exit(0)
        except:
                if options.verbose:
                        print "An exception occured"
                sys.exit(1)     
        label .end

if __name__ == "__main__":
        main()

Zadanie 3.

 
kurs_jezyka_python/lista8.txt · ostatnio zmienione: 2009/12/04 00:54 przez d
 
Wszystkie treści w tym wiki, którym nie przyporządkowano licencji, podlegają licencji:MIT License
Recent changes RSS feed