Это выглядит скорее «хакерским» и хрупким, и я счастлив удалить его, если появится лучший метод, но один из способов, который работает, выглядит следующим образом.
Если вы запустите this ( ссылка на документы ):
repr(Image.HEART)
вы получите это:
"Image('09090:99999:99999:09990:00900:')"
Если вы посмотрите документацию для Image
class ( ссылка на документы ), вы увидите, что можете создать новый Image
из этой строки. Итак, на данный момент я предлагаю сделать следующее:
# Get a string corresponding to Image.HEART
s = repr(Image.HEART)[7:-3]
... TRANSMIT ...
# Convert received string back into Image
I = Image(received)
Думаю, это немного менее хрупкий способ извлечения цифр и двоеточий из вывода repr
, но он все равно уродлив:
s = ""
for char in repr(Image.SAD):
if char in '0123456789:': s += char