Hi there, I have to make a small database using cPickle. I'm having troubles trying to read in the information if it's more than one line. I'm pretty sure it's in the line "for line in stuff:" Can anyone help me out? Basically the end result is wanting it to look something like what is down below when list is typed in:
Last name First Name Email Address Doe John j...@doe.com [code] # @author: Ocdt Murray McClafferty 24656 # This will manage a small database using the cPickle module. # It must maintain a list of last names, first names and email addresses, and must let a user interact with the program # #!usr/bin/python # -*- coding: utf-8 -*- import sys import cPickle # format = '%s %s %s' try: filename = sys.argv[1] input = open(filename, 'r') except IOError: print 'File is not available, will create a new file now' lastName='Last Name' firstName='First Name' email= 'Email' #input.close() output=open (filename, 'w') total = format%(lastName, firstName, email) cPickle.dump(total,output) #cPickle.dump(firstName,output) #cPickle.dump(email,output) output.close() except EOFError: print 'File is empty' #datas = cPickle.load(input) while True: command=sys.stdin.readline()[:-1] if command=='list': #lists the data in the file input = open(filename, 'r') stuff=cPickle.load(input) for line in stuff: #firstName=cPickle.load(input) #email=cPickle.load(input) #print repr (lastName).rjust(10), repr(firstName).rjust(20), repr (email).rjust(20) stuff=cPickle.load(input) print stuff print line input.close() if command=='exit' or command=='quit' : #NEVER forget the exit!!! print 'Save changes? y for Yes, n for No' commandSave=sys.stdin.readline()[:-1] if commandSave =='y': #if the user wants to save output=open(filename, 'w') cPickle.dump(work,output) output.close() sys.exit(0) if commandSave =='n': #no save input.close() sys.exit(0) if command=='add': #adds an entity to the file print 'Last name?' lastName=sys.stdin.readline()[:-1] print 'First name?' firstName=sys.stdin.readline()[:-1] print 'Email address?' email=sys.stdin.readline()[:-1] work = format%(lastName, firstName, email) #output=open(filename, 'w') #data=cPickle.load(output) #data.append(work) #output.close() output=open(filename, 'a') cPickle.dump(work,output) output.close() [/code] All help would be appreciated. I am new to Python and this seems to be quite a challenge for me. -- http://mail.python.org/mailman/listinfo/python-list