StringIO
StringIO经常被用来作为字符串的缓存,StringIO的有些接口和文件操作是一致的,也就是说用同样的代码,可以同时当成文件操作或者StringIO操作:
import
string, os, sys
import StringIO
def writedata(fd, msg):
fd.write(msg)
f = open( ' aaa.txt ' , ' w ' )
writedata(f, " xxxxxxxxxxxx " )
f.close()
s = StringIO.StringIO()
writedata(s, " xxxxxxxxxxxxxx " )
import StringIO
def writedata(fd, msg):
fd.write(msg)
f = open( ' aaa.txt ' , ' w ' )
writedata(f, " xxxxxxxxxxxx " )
f.close()
s = StringIO.StringIO()
writedata(s, " xxxxxxxxxxxxxx " )
因为文件对象和StringIO大部分的方法都是一样的,比如read, readline, readlines, write, writelines都是有的,这样,StringIO就可以非常方便的作为"内存文件对象"。
import
string
import StringIO
s = StringIO.StringIO()
s.write( " aaaa " )
lines = [ ' xxxxx ' , ' bbbbbbb ' ]
s.writelines(lines)
s.seek(0)
print s.read()
print s.getvalue()
s.write( " ttttttttt " )
s.seek(0)
print s.readlines()
print s.len
import StringIO
s = StringIO.StringIO()
s.write( " aaaa " )
lines = [ ' xxxxx ' , ' bbbbbbb ' ]
s.writelines(lines)
s.seek(0)
print s.read()
print s.getvalue()
s.write( " ttttttttt " )
s.seek(0)
print s.readlines()
print s.len
GzipFile
python的gzip模块提供了一些简单的接口来对文件进行压缩和解压缩,类似于GNU项目的gzip和gunzip。
数据的压缩源于zlib模块的支持。
在gzip模块提供了GzipFile类,在该类中提供了像open(),compress()和depress()等一些方便的方法
GzipFile类在读写gzip格式的文件的时候,自动的压缩和解压缩数据类似于操作普通的文件对象。
在gzip模块定义了一些方法:
gzip.open(filename, mode='rb', compresslevel=9, encoding=None, errors=None, newline=None)
打开一个gzip已经压缩好的gzip格式的文件,并返回一个文件对象:file object
socket
socket的close等方法也与文件对象类似。