On 1/1/2014 1:48 AM, Chris Angelico wrote:
On Wed, Jan 1, 2014 at 5:39 PM, Travis McGee <nob...@gmail.com> wrote:

What OS? If Windows, did you install the -py3k version for 3.x?

Anyway, I finally got it installed, but when I try to use a statement of the
sort ser.write("string") I get an exception which seems to imply that the
argument needs to be an integer, rather than a string.

According to a Stackoverflow issue, .write(n) will write n 0 bytes because it will send bytes(n) == n * bytes(b'\0').

PySerial is written in Python, so you could look at the .write method of the Serial class (presuming that 'ser' is an instance thereof) to see what it does.

Quoting the full exception would help!

My suspicion is that it works with byte strings, not Unicode strings.

That is what the doc either says or implies.

So you could do:

ser.write(b"string")

or:

ser.write("string".encode())

to turn it into a stream of bytes (the latter uses UTF-8, the former
would use your source file encoding).

--
Terry Jan Reedy

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

Reply via email to