Samuel Nwokenkwo <snwok...@terpmail.umd.edu> added the comment:

I completely wrote the wrong code: 

So I'll copy and paste:

--------------------
Scenario 1
import multiprocessing

br = multiprocessing.Array('c', 1)

br[0] = 's'

print(br[:])

Scenario 1 result = "TypeError: one character bytes, bytearray or integer 
expected"

-------------------------

Scenario 2
import multiprocessing

br = multiprocessing.Array('b', 1)

br[0] = 's'.encode()

print(br[:])

Scenario 2 results = "TypeError: an integer is required (got type bytes)"

-----------------------------------

I believe my confusion is that I am thinking more of the python data type byte, 
which takes b'', than C language data type byte (which takes numbers from -127 
to 128. This confusion is compounded when I do something like scenario 3:
-------------------------------

import multiprocessing

br = multiprocessing.Array('c', 1)

br[0] = 's'.encode()

print(br[:])

scenario 3 results: b's'
------------------

In the first scenario passing 's' i get an error, even though by definition 's' 
is a c char data type.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue32003>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to