QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3433|回复: 0

求救!Python的EOF问题

[复制链接]
发表于 2005-9-2 22:45:05 | 显示全部楼层 |阅读模式
初学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[k]=v
        maindict[self.name]="%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[1].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[1].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[k]=v
        if name in mainlist:
            del maindict[name]
        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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 22:43 , Processed in 0.041158 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表