proto

Sorun bildir Kaynağı göster Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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ı, 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.

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