zchar 发表于 2005-9-2 22:45:05

求救!Python的EOF问题

初学Python,写了个很菜的程序,实在不知道哪儿出毛病了,请高手看看,谢谢!


#Filename:mab_ver1.py

import cPickle as cp
import sys

mylist='myinfolist.data'
maindict={}
mainlist=[]

class Person:
   def __init__(self,n,a,p):
      self.name=n
      self.addr=a
      self.phon=p
   def writeData(self):   
      f=file(mylist,'w')
      f.close()
      f=file(mylist)
      mainlist=cp.load(f)
      for k,v in mainlist:
            maindict=v
      maindict="%s %s"%(self.addr,self.phon)
      mainlist=maindict.items()
      f=file(mylist,'w')
      cp.dump(mainlist,f)
      f.close()

if len(sys.argv)<2:
    print 'No acion specified.'
    sys.exit()

if sys.argv.startswith('add'):
    name=raw_input('Please Enter the Name:')
    addr=raw_input('Please Enter the Address:')
    phon=raw_input('Please Enter the Phone Number:')
    p=Person(name,addr,phon)
    p.writeData()
    sys.exit()

if sys.argv.startswith('del'):
      name=raw_input('Please Enter the Name You Want to Delete:')
      f=file(mylist,'w')
      mainlist=cp.load(f)
      for k,v in mainlist:
            maindict=v
      if name in mainlist:
            del maindict
      else:
            print "%s doesn't exist" %name
      mainlist=maindict.items()
      cp.dump(mainlist,f)
      f.close()
      sys.exit()

每次运行时都会报错:
Traceback (most recent call last):
File "C:\Python23\Lib\site-packages\Pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
    exec codeObject in __main__.__dict__
File "C:\Documents and Settings\zchar\My Documents\mab_ver1.py", line 37, in ?
    p=Person(name,addr,phon)
File "C:\Documents and Settings\zchar\My Documents\mab_ver1.py", line 19, in writeData
    mainlist=cp.load(f)
EOFError
页: [1]
查看完整版本: 求救!Python的EOF问题