[issue30379] multiprocessing Array create for ctypes.c_char, TypeError unless 1 char string arg used

2021-06-18 Thread Irit Katriel


Irit Katriel  added the comment:

I'm assuming Davin's alternative solved your problem. If not, please check that 
you're still seeing it version 3.9+ and create a new issue.

--
nosy: +iritkatriel
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30379] multiprocessing Array create for ctypes.c_char, TypeError unless 1 char string arg used

2017-05-16 Thread Davin Potts

Davin Potts added the comment:

Perhaps I should've used ctypes.c_uint8 in that example/question instead.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30379] multiprocessing Array create for ctypes.c_char, TypeError unless 1 char string arg used

2017-05-16 Thread Davin Potts

Davin Potts added the comment:

Maybe I missed your point but why would you not want to do this instead?

>>> mp.Array(ctypes.c_int8, arr)
>

--
nosy: +davin

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30379] multiprocessing Array create for ctypes.c_char, TypeError unless 1 char string arg used

2017-05-16 Thread John Schaefer

New submission from John Schaefer:

When creating a multiprocessing Array equivalent for unsigned chars, eg from a 
numpy.uint8 array, the first argument: typecode_or_type must be specified as a 
one character string, if a typecode is used the method raises a TypeError.

>>> import numpy as np, multiprocessing as mp, ctypes
>>> arr = np.array(range(10), dtype=np.uint8)
>>> arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=uint8)
>>> mp.Array("B", arr)
>> mp.Array(ctypes.c_char, arr)
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib/python2.7/multiprocessing/__init__.py", line 260, in Array
return Array(typecode_or_type, size_or_initializer, **kwds)
  File "/usr/lib/python2.7/multiprocessing/sharedctypes.py", line 120, in Array
obj = RawArray(typecode_or_type, size_or_initializer)
  File "/usr/lib/python2.7/multiprocessing/sharedctypes.py", line 94, in 
RawArray
result.__init__(*size_or_initializer)
TypeError: one character string expected

This contrasts with behavior exhibited with other types:
>>> farr = np.array(range(10), dtype=np.float)
>>> mp.Array(ctypes.c_double, farr)


___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com