प्रोटो

किसी समस्या की शिकायत करें सोर्स देखें Nightly · 8.0 . 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

प्रोटोकॉल मैसेज प्रोसेस करने के लिए मॉड्यूल.

सदस्य

encode_text

string proto.encode_text(x)

स्ट्रक्चर आर्ग्युमेंट की एन्कोडिंग को टेक्स्ट फ़ॉर्मैट वाले प्रोटोकॉल मैसेज के तौर पर दिखाता है. डेटा स्ट्रक्चर में, स्ट्रिंग, ints, floats या bools या इन टाइप के स्ट्रक्चर्स, सीक्वेंस, और डिक्शनरी का बार-बार इस्तेमाल किया जाना चाहिए.

स्ट्रक्चर को मैसेज में बदला जाता है. फ़ील्ड, नाम के क्रम में उत्सर्जित होते हैं. स्ट्रक्चर के हर उस फ़ील्ड को अनदेखा कर दिया जाता है जिसकी वैल्यू None है.

किसी क्रम (जैसे, सूची या ट्यूपल) को बार-बार इस्तेमाल होने वाले फ़ील्ड में बदल दिया जाता है. इसके एलिमेंट, सीक्वेंस या डिक्शनरी नहीं होने चाहिए.

किसी डायक्शनरी को मैसेज के दोहराए गए फ़ील्ड में बदला जाता है. इसमें 'key' और 'value' नाम के फ़ील्ड होते हैं. एंट्री, दोहराए जाने (शामिल किए जाने) के क्रम में उत्सर्जित होती हैं. डिक्शनरी की कुंजियां स्ट्रिंग या इंट होनी चाहिए. साथ ही, इसकी वैल्यू, सीक्वेंस या डिक्शनरी नहीं होनी चाहिए. उदाहरण:

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
# }

पैरामीटर

पैरामीटर ब्यौरा
x structure; ज़रूरी है