developer tip

파이썬에서 파일에 문자열을 어떻게 래핑합니까?

optionbox 2020. 10. 24. 10:02
반응형

파이썬에서 파일에 문자열을 어떻게 래핑합니까?


문자열의 내용으로 파일 류 객체 (파일과 동일한 오리 유형)를 생성하려면 어떻게해야합니까?


Python 2.x의 경우 StringIO 모듈을 사용합니다 . 예를 들면 :

>>> from cStringIO import StringIO
>>> f = StringIO('foo')
>>> f.read()
'foo'

cStringIO (더 빠름)를 사용하지만 일반 ASCII 문자열로 인코딩 할 수없는 유니 코드 문자열은 허용 하지 않습니다 . ( "from cStringIO"를 "from 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')

참고 URL : https://stackoverflow.com/questions/141449/how-do-i-wrap-a-string-in-a-file-in-python

반응형