प्रोटो

समस्या की शिकायत करें सोर्स देखें ठीक 24/}20} 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; ज़रूरी है