python 모듈의 StringIO 사용 예

1111 단어
스트링IO는 문자열의 캐시로 자주 사용되기 때문에 스트링IO에게 좋은 점이 있다. 그의 일부 인터페이스와 파일 조작은 일치한다. 즉, 같은 코드를 사용하면 파일 조작이나 스트링IO 조작으로 동시에 할 수 있다.예를 들면 다음과 같습니다.
 
  
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")


파일 대상과 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


StringIO는 또 하나의 대응하는 c 언어 버전의 구현이 있는데, 이것은 더욱 좋은 성능을 가지지만, 약간의 차이가 있다. cStringIO는len과pos 속성이 없다.

좋은 웹페이지 즐겨찾기