में यमल सीरियलाइजेशन ऑर्डर को नियंत्रित करना आप पाइथन शब्दकोश को क्रमबद्ध करते समय पाइयामल आउटपुट/मूल्य जोड़े कैसे ऑर्डर करते हैं?पाइथन
मैं यमल को पाइथन लिपि में एक साधारण धारावाहिक प्रारूप के रूप में उपयोग कर रहा हूं। मेरी यामल सीरियलाइज्ड ऑब्जेक्ट्स "दस्तावेज़" का एक प्रकार प्रस्तुत करती है, इसलिए अधिकतम उपयोगकर्ता-मित्रता के लिए, मैं अपनी ऑब्जेक्ट का "नाम" फ़ील्ड फ़ाइल में पहले दिखाई देना चाहता हूं। बेशक, चूंकि मेरे ऑब्जेक्ट के __getstate__
द्वारा लौटाया गया मान एक शब्दकोश है, और पायथन शब्दकोश अनियंत्रित हैं, इसलिए "नाम" फ़ील्ड को आउटपुट में यादृच्छिक स्थान पर क्रमबद्ध किया जाएगा।
उदा।
>>> import yaml
>>> class Document(object):
... def __init__(self, name):
... self.name = name
... self.otherstuff = 'blah'
... def __getstate__(self):
... return self.__dict__.copy()
...
>>> doc = Document('obj-20111227')
>>> print yaml.dump(doc, indent=4)
!!python/object:__main__.Document
otherstuff: blah
name: obj-20111227
रिकॉर्ड के लिए, वहाँ एक समान प्रश्न (यह एक के बाद कुछ साल पूछा) यहाँ है: http://stackoverflow.com/q/16782112/877069 –