文件操作:
poem='''\我是中国人,我爱中国2'''
f=file("testpy.txt","w")
#'r':只读(缺省。如果文件不存在,则抛出错误)
#'w':只写(如果文件不存在,则自动创建文件)
#'a':附加到文件末尾
#'r+':读写 测试不成功
f.write(poem)
f.close
f=file("testpy.txt")
while True:
line=f.readline()
if len(line)==0:
break
print line
f.close
持久化对象 cPickle 、marshal Pickle(最慢)
储存与取储存
import cPickle as p
shoplistfile="shoplist.data"
shoplist=["sss","fff","eee"]
f=file(shoplistfile,"a")
p.dump(shoplist,f)
f.close
del shoplist
f=file(shoplistfile)
#遍历所有的对象
while True:
storedlist=p.load(f)
if storedlist=="":
break
for item in storedlist:
print item
它如何工作
首先,请注意我们使用了import..as语法。这是一种便利方法,
以便于我们可以使用更短的模块名称。
在这个例子中,它还让我们能够通过简单地改变一行就切换到另一个模块
(cPickle或者pickle)!在程序的其余部分的时候,我们简单地把这个模块称为p。
为了在文件里储存一个对象,首先以写模式打开一个file对象,
然后调用储存器模块的dump函数,把对象储存到打开的文件中。这个过程称为 储存 。
接下来,我们使用pickle模块的load函数的返回来取回对象。这个过程称为 取储存 。
引发异常
你可以使用raise
语句 引发 异常。你还得指明错误/异常的名称和伴随异常 触发的 异常对象。
你可以引发的错误或异常应该分别是一个Error
或Exception
类的直接或间接导出类。