When you put the 'wb' extension you have to pass a Encode the string Python does not accept a string on a wb file, Python3

On Oct 6, 2010 1:01am, Chris Rebert <c...@rebertia.com> wrote:
> On Oct 5, 2010 8:03pm, MRAB pyt...@mrabarnett.plus.com> wrote:

>> On 05/10/2010 23:50, hid...@gmail.com wrote:

>> I did but the mistake is: Error interpreting JPEG image file (Not a JPEG

>> file: starts with 0x5c 0x6e)

>>

>> I think the problem is maybe in the binary code here is:



>> > On Oct 5, 2010 6:18pm, "Jonas H." jo...@lophus.org> wrote:

>> > > On 10/05/2010 11:11 PM, hid...@gmail.com wrote:

>> > > Hello, how i can save a binary file, i read in the manual in the IO

>> area

>> > > but doesn' t show how to save it.

>>

>> > > Here is the code what i am using:

>> > > s = open('/home/hidura/test.jpeg', 'wb')

>> > > s.write(str.encode(formFields[5]))

>> > > s.close()



>> Why are you encoding it? A JPEG file should contain the binary data,

>> not a textual encoding of its bytes. The error message you got said

>> that the contents of the file started with a backslash.

>>

>> If you print out, say, repr(str[ : 10]) you should get something like

>>

>> 'ÿØÿà\x00\x10JFIF'.

>>

>> Try this instead:

>>

>> s = open('/home/hidura/test.jpeg', 'wb')

>> s.write(str)

>> s.close()

>>

>> Incidentally, 'str' is a bad name for a variable because it's the name

>> of the built-in string type.



On Tue, Oct 5, 2010 at 9:53 PM, hid...@gmail.com> wrote:

> I has to use repr to convert in this string: ÿØÿà\x00\x10JFIF?



No, you don't/shouldn't convert it at all. Read/use the 3 lines of

suggested code that MRAB gave:

s = open('/home/hidura/test.jpeg', 'wb')

s.write(str)

s.close()



Cheers,

Chris

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to