期望字符串参数,在buffer.write中得到'bytes'

时间:2018-06-11 11:48:57

标签: python file

我有这个:

from io import StringIO
buffer = StringIO()

latest_file = 'C:\\Users\\miguel.santos\\Desktop\\meo_snapshots\\Snapshot_14.jpg'

buffer.write(open(latest_file,'rb').read())

TypeError: string argument expected, got 'bytes'

关于如何解决的任何想法?

1 个答案:

答案 0 :(得分:4)

io.StringIO用于unicode文本,其对应的字节为io.BytesIO。由于你的不良文件是二进制jpg,你真的应该使用后者:

from io import BytesIO
buffer = BytesIO()

latest_file = 'C:\\Users\\miguel.santos\\Desktop\\meo_snapshots\\Snapshot_14.jpg'

buffer.write(open(latest_file,'rb').read())