M
mmcclaf
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
(e-mail address removed)
All help would be appreciated. I am new to Python and this seems to be
quite a challenge for me.
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
(e-mail address removed)
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()
All help would be appreciated. I am new to Python and this seems to be
quite a challenge for me.