proto

Sorun bildir Kaynağı görüntüle Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Protokol mesajı işleme modülü.

Üyeler

encode_text

string proto.encode_text(x)

Yapı bağımsız değişkeninin kodlamasını metin biçimli protokol mesajı olarak döndürür. Veri yapısı; dizeler, tam sayılar, kayan noktalı sayılar veya boole'lar ya da bu türlerin yapıları, dizileri ve sözlüklerinden yinelemeli olarak oluşmalıdır.

Bir yapı iletiye dönüştürülür. Alanlar, ad sırasına göre yayınlanır. Değeri None olan her yapı alanı yoksayılır.

Bir dizi (ör. liste veya demet), tekrarlanan alana dönüştürülür. Öğeleri, diziler veya sözlükler olmamalıdır.

Sözlük, "key" ve "value" adlı alanlara sahip mesajların yinelenen alanına dönüştürülür. Girişler yineleme (ekleme) sırasına göre yayınlanır. Sözlüğün anahtarları dize veya tam sayı olmalı, değerleri ise dizi veya sözlük olmamalıdır. Örnekler:

proto.encode_text(struct(field=123))
# field: 123

proto.encode_text(struct(field=True))
# field: true

proto.encode_text(struct(field=[1, 2, 3]))
# field: 1
# field: 2
# field: 3

proto.encode_text(struct(field='text', ignored_field=None))
# field: "text"

proto.encode_text(struct(field=struct(inner_field='text', ignored_field=None)))
# field {
#   inner_field: "text"
# }

proto.encode_text(struct(field=[struct(inner_field=1), struct(inner_field=2)]))
# field {
#   inner_field: 1
# }
# field {
#   inner_field: 2
# }

proto.encode_text(struct(field=struct(inner_field=struct(inner_inner_field='text'))))
# field {
#    inner_field {
#     inner_inner_field: "text"
#   }
# }

proto.encode_text(struct(foo={4: 3, 2: 1}))
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

Parametreler

Parametre Açıklama
x structure; required