StringIO經(jīng)常被用來(lái)作為字符串的緩存,應(yīng)為StringIO有個(gè)好處,他的有些接口和文件操作是一致的,也就是說(shuō)用同樣的代碼,可以同時(shí)當(dāng)成文件操作或者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")
因?yàn)槲募?duì)象和StringIO大部分的方法都是一樣的,比如read, readline, readlines, write, writelines都是有的,這樣,StringIO就可以非常方便的作為"內(nèi)存文件對(duì)象"。
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
StringIO還有一個(gè)對(duì)應(yīng)的c語(yǔ)言版的實(shí)現(xiàn),它有更好的性能,但是稍有一點(diǎn)點(diǎn)的區(qū)別,cStringIO沒有l(wèi)en和pos屬性。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
