proto

Sorun bildir Kaynağı görüntüle Nightly · 8.1 · 8.0 · 7.6 · 7.5 · 7.4

Protokol mesajı işleme modülü.

Üyeler

encode_text

string proto.encode_text(x)

struct bağımsız değişkeninin kodlamasını metin biçiminde bir protokol mesajı olarak döndürür. Veri yapısı, dize, tam sayı, kayan nokta veya boole türlerinden veya bu türlerin yapıları, dizileri ve sözlükleri arasından yinelemeli olarak oluşturulmalı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 sıra (ör. liste veya tuple), tekrarlanan 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 iterasyon (ekleme) sırasına göre yayınlanır. Sözlüğün anahtarları dize veya tam sayı, 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