파이썬의 파일에 문자열을 어떻게 래핑합니까?
문제
문자열의 내용으로 파일 같은 객체 (파일과 동일한 오리 유형)를 어떻게 만들려면?
해결책
Python 2.x의 경우 사용하십시오 Stringio 기준 치수. 예를 들어:
>>> from cStringIO import StringIO
>>> f = StringIO('foo')
>>> f.read()
'foo'
나는 cstringio (더 빠른)를 사용하지만 그렇지 않다는 점에 유의하십시오. 일반 ASCII 문자열로 인코딩 할 수없는 유니 코드 문자열 수락. ( "cstringio"에서 "stringio"로 변경하여 Stringio로 전환 할 수 있습니다.)
Python 3.x의 경우 사용하십시오 io
기준 치수.
f = io.StringIO('foo')
다른 팁
Python 3.0에서 :
import io
with io.StringIO() as f:
f.write('abcdef')
print('gh', file=f)
f.seek(0)
print(f.read())
두 가지 좋은 답변. 약간의 트릭을 추가하겠습니다. 실제 파일 개체가 필요하다면 (일부 메소드는 인터페이스뿐만 아니라 하나를 기대합니다) 어댑터를 만들 수있는 방법이 있습니다.
이것은 python2.7 및 python3.x에서 작동합니다 :
io.StringIO(u'foo')
제휴하지 않습니다 StackOverflow