文件IO、储存器模块
文件IO
代码示例:
# -*- coding:utf-8 -*-
#! /usr/bin/python
# filename:using_file.py
poem = '''
这是一个测试文本
用于测试文件写入的功能
如果结果正确,
这里会显示正常的内容。
'''
f = file('poem.txt','w')
# 创建一个文件,模式为write,有三种,r:read,w:write,a:append
# 默认是read
f.write(poem)
# 写入操作
f.close
# 使用file要关闭
f = file('poem.txt')
# 不指定,模式为read
while True:
line = f.readline()
# 读一行
if len(line) == 0:
break
print line,
f.close
-
注释里面已经有了基本的说明,三种模式以及使用方法
-
当True写成true的时候会报错:NameError: name 'true' is not defined,**所以记得python里面正确,错误都是True和False
-
在line后面加个','的意思就是说,是在后面直接连接字符串,而不是重新转行
-
文件中会多一行空行
储存器模块(pickle模块)
python提供的pickle模块,使用它你可以在一个文件中储存任何Python对象,之后你又可以把它完整无缺地取出来。这被称为 持久地 储存对象。
还有一个cPickle模块,不过使用c写的,效率是pickle的1000倍,两个模块都统称为pickle
我目前还没有看出来使用pickle模块重要的意义。。。,主要就是在里面有dump和load方法,分别用于储存和取储存
示例:(有注释)
# -*- coding:utf-8 -*-
#! /usr/bin/python
# filename : pickling.py
import cPickle as p
# 导入cPickle模块,简写为p
shoplistfile = 'shoplist.data'
shoplist = ['apple','mango','carrot']
f = file(shoplistfile,'w')
p.dump(shoplist,f)
# cPickle的储存dump方法
f.close
del shoplist
f = file(shoplistfile)
storedlist = p.load(f)
# cPickle的取储存load方法
print storedlist