cPickle works fine, except within this code..It lets the programs hangs!

Husam h.jehadalwan at student.kun.nl
Thu Oct 18 15:38:00 EDT 2001


cds=[1,2,3,4,5]

programs[['one','two'],['three','four'],['five','six']]

mylist=[1,2,3,4,5,6]

while 1:
    print '\n',len(cds),'CDs are present in the data
base!','\n','\n','1','\t','Add program','\n','2','\t','Search for
program','\n','3','\t','Delete program','\n','4','\t','Delete
CD','\n','5','\t','Display content of a CD','\n','6','\t','Quit'

    choice=raw_input('Make a choice: ')
    try:
        if int(choice)==mylist[0]:                            #ADD A NEW
PROGRAM
            while 1:
                print 'Press (Q) to cancel!'
                prog_name=raw_input('Enter Program Name: ')

                try:
                    if prog_name=='q' or prog_name=='':
                        break
                    else:
                        print 'Press (Q) to cancel!'
                        cd_nr    =raw_input('Enter CD number: ')
                        while 1:

                            try:
                                if cd_nr=='q':
                                    break
                                elif int(cd_nr) in cds:         #CHECKS
CD NR FOR VALIDITY
                                    for i in range(len(cds)):
                                        if int(cd_nr)==cds[i]:

programs[i].append(prog_name)

write_prog=open('programs.txt','w')

cPickle.dump(programs,write_prog) # <==It hangs here!
                                            write_prog.close()

                                elif int(cd_nr)-cds[-1]==1:
                                    cds.append(int(cd_nr))
                                    write_cd=open('cds.txt','w')
                                    cPickle.dump(cds,write_cd)
                                    write_cd.close()

                                    programs.append([prog_name])
                                    write_progs=open('programs.txt','w')

                                    cPickle.dump(programs,write_progs)
                                    write_progs.close()
                           except ValueError:
                                print 'Invalid CD nr. Please Try Again!'

                                break

                except ValueError:
                    print 'Please Enter Program Name, Or Cancel
Operation!'
                    break





More information about the Python-list mailing list