proto

Sorun bildir Kaynağı görüntüle Nightly · 7.4 .

Protokol mesajlarını işleme için bir modül.

Üyeler

encode_text

string proto.encode_text(x)

struct bağımsız değişkeninin kodlamasını metin biçiminde protokol mesajı olarak döndürür. Veri yapısı, dizelerden, tam sayılardan, kayan sayılardan veya doğru/yanlış değerlerden ya da bu tür yapılardan, sıralardan ve sözlüklerden yinelemeli olarak oluşmalıdır.

struct, mesaja dönüştürülür. Alanlar, ad sırasına göre gösterilir. Değeri None olan her yapı alanı yoksayılır.

Bir dizi (liste veya unsur gibi), yinelenen bir alana dönüştürülür. Öğeleri dizi veya sözlük olmamalıdır.

Sözlük, "anahtar" ve "değer" adlı alanlara sahip yinelenen bir mesaj alanına dönüştürülür. Girişler, yineleme (ekleme) sırasına göre gönderilir. Söylemin anahtarları dize veya int olmalıdır. Değerleri ise dizi veya dikte 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 zorunlu