해결책
io.BytesIO 클래스를 찾고있을 것입니다.바이너리 데이터를 지원한다는 점을 제외하면 StringIO와 똑같이 작동합니다. 라코 디스
StringIO에서 TypeError 발생 : 라코 디스
다른 팁
만 당신 당신 떤 니드 데이터를 넣 려 StringIO
그리고 당신은 사용하지 않도록주의 cStringIO
괜찮을 거야
에 따르면 스트링기오 문서화,당신이 유니 코드 또는 8 비트 중 하나를 유지하는 한 모든 것이 예상대로 작동합니다.아마도, StringIO
누군가가 할 때 특별한 일을합니까 f.write(u"asdf")
(지필이 하지 않는 것,내 지식)어쨌든;
import zipfile
import StringIO
s = StringIO.StringIO()
z = zipfile.ZipFile(s, "w")
z.write("test.txt")
z.close()
f = file("x.zip", "w")
f.write(s.getvalue())
s.close()
f.close()
예상대로 작동하며 결과 아카이브의 파일과 원본 파일 사이에는 차이가 없습니다.
이 접근 방식이 작동하지 않는 특정 사례를 알고 있다면,나는 그것에 대해 듣는 것이 가장 관심이있을 것입니다:)
struct 패키지를보십시오 : https://docs.python.org/library/struct.html 을 사용하면 문자열을 압축 된 바이너리 데이터로 해석 할 수 있습니다.
이 질문에 완전히 답할 수 있는지 확실하지 않지만 struct.unpack ()을 사용하여 바이너리 데이터를 python 객체로 변환 할 수 있습니다. 라코 디스
이 예에서 ">"는 big-endian을 읽으라고 "h"는 2 바이트 short를 읽고 "l"은 4 바이트 길이를 나타냅니다.이진 데이터에서 읽어야하는 모든 항목으로 분명히 변경할 수 있습니다 ...