yaml tutorial comprehensive guide yaml using python
Αυτό το σεμινάριο YAML εξηγεί τι είναι το YAML, βασικές έννοιες του YAML όπως τύπους δεδομένων, YAML Validator, Parser, Editor, Files κ.λπ. με τη βοήθεια παραδειγμάτων κώδικα που χρησιμοποιούν το Python:
Η επεξεργασία κειμένου στην επιστήμη των υπολογιστών βοηθά τους προγραμματιστές να δημιουργήσουν διαμορφώσιμα προγράμματα και εφαρμογές. Οι γλώσσες σήμανσης παίζουν ζωτικό ρόλο στην αποθήκευση και την ανταλλαγή δεδομένων σε μορφή αναγνώσιμη από τον άνθρωπο.
Επιπλέον, οι προγραμματιστές χρησιμοποιούν γλώσσες σήμανσης ως κοινές και τυπικές μορφές ανταλλαγής δεδομένων μεταξύ διαφορετικών συστημάτων. Μερικοί παραδείγματα γλωσσών σήμανσης περιλαμβάνουν HTML, XML, XHTML και JSON.
Έχουμε μοιραστεί πληροφορίες για μια ακόμη γλώσσα σήμανσης σε αυτό το εύκολο να ακολουθήσετε το YAML Tutorial.
Αυτό το σεμινάριο βοηθά τους αναγνώστες να βρουν απαντήσεις στις παρακάτω ερωτήσεις. Οι μαθητές μπορούν να κάνουν τα πρώτα βήματα και να κατανοήσουν το μυστήριο των γλωσσών σήμανσης γενικά και ειδικότερα του YAML.
Οι ερωτήσεις περιλαμβάνουν:
- Γιατί χρειαζόμαστε γλώσσες σήμανσης;
- Τι σημαίνει το YAML;
- Γιατί δημιουργήθηκε το YAML;
- Γιατί πρέπει να μάθουμε YAML;
- Γιατί είναι σημαντικό σήμερα να μάθεις το YAML;
- Τι είδους δεδομένα μπορώ να αποθηκεύσω σε ένα YAML;
Αυτός ο οδηγός είναι χρήσιμος για έμπειρους αναγνώστες επίσης καθώς συζητάμε έννοιες στο πλαίσιο του προγραμματισμού γενικά και επίσης στο πλαίσιο της δοκιμής λογισμικού. Θα καλύψουμε επίσης θέματα όπως η σειριοποίηση και η αποεπιεριοποίηση εδώ.
Τι θα μάθετε:
Τι είναι το YAML
Οι δημιουργοί του YAML το ονόμασαν αρχικά ως 'ακόμα μια γλώσσα σήμανσης'. Ωστόσο, με την πάροδο του χρόνου το ακρωνύμιο άλλαξε σε 'YAML Δεν είναι μια γλώσσα MarkUp'. Το YAML είναι ένα αρκτικόλεξο που αναφέρεται στον εαυτό του και ονομάζεται αναδρομικό ακρωνύμιο.
Μπορούμε να χρησιμοποιήσουμε αυτήν τη γλώσσα για την αποθήκευση δεδομένων και διαμόρφωσης σε μορφή αναγνώσιμη από τον άνθρωπο. Το YAML είναι μια στοιχειώδης γλώσσα για μάθηση. Οι δομές του είναι επίσης κατανοητές.
Ο Clark, ο Ingy και ο Oren δημιούργησαν το YAML για να αντιμετωπίσουν τις πολυπλοκότητες της κατανόησης άλλων γλωσσών σήμανσης, οι οποίες είναι δύσκολο να κατανοηθούν και η καμπύλη εκμάθησης είναι επίσης πιο απότομη από την εκμάθηση του YAML.
Για να κάνουμε τη μάθηση πιο άνετη, όπως πάντα, χρησιμοποιούμε ένα δείγμα έργου. Φιλοξενούμε αυτό το έργο στο Github με άδεια MIT για οποιονδήποτε να κάνει τροποποιήσεις και να υποβάλει αίτηση τραβήγματος εάν απαιτείται.
Μπορείτε να κλωνοποιήσετε το έργο χρησιμοποιώντας την παρακάτω εντολή.
git clone git@github.com:h3xh4wk/yamlguide.git
Ωστόσο, εάν απαιτείται, μπορείτε κατεβάστε το φερμουάρ αρχείο για τον κώδικα και τα παραδείγματα.
Εναλλακτικά, οι αναγνώστες μπορούν να κλωνοποιήσουν αυτό το έργο με τη βοήθεια του IntelliJ IDEA. Συμπληρώστε την ενότητα σχετικά με τις προϋποθέσεις για να εγκαταστήσετε το Python και να το διαμορφώσετε με το IntelliJ IDEA πριν από την κλωνοποίηση του έργου.

Γιατί χρειαζόμαστε γλώσσες σήμανσης
Είναι αδύνατο να γράψετε τα πάντα σε κώδικα λογισμικού. Είναι επειδή πρέπει να διατηρούμε κώδικα από καιρό σε καιρό και πρέπει να αφαιρούμε τις ιδιαιτερότητες σε εξωτερικά αρχεία ή βάσεις δεδομένων.
Είναι μια βέλτιστη πρακτική να μειώσετε τον κώδικα στο ελάχιστο δυνατό και να τον δημιουργήσετε με τρόπο που δεν χρειάζεται τροποποίηση για διάφορες εισόδους δεδομένων που χρειάζεται.
Για παράδειγμα, μπορούμε να γράψουμε μια συνάρτηση για τη λήψη δεδομένων εισαγωγής από ένα εξωτερικό αρχείο και να εκτυπώσουμε το περιεχόμενό του κατά γραμμή αντί να γράφουμε τον κώδικα και τα δεδομένα μαζί σε ένα μόνο αρχείο.
Θεωρείται βέλτιστη πρακτική επειδή διαχωρίζει τις ανησυχίες της δημιουργίας των δεδομένων και της δημιουργίας του κώδικα. Η προσέγγιση προγραμματισμού της αφαίρεσης των δεδομένων από τον κώδικα εξασφαλίζει εύκολη συντήρηση.
Οι γλώσσες σήμανσης διευκολύνουν την αποθήκευση ιεραρχικών πληροφοριών σε πιο προσιτή και πιο ελαφριά μορφή. Αυτά τα αρχεία μπορούν να ανταλλάσσονται μεταξύ προγραμμάτων μέσω του Διαδικτύου χωρίς να καταναλώνουν πολύ εύρος ζώνης και να υποστηρίζουν τα πιο κοινά πρωτόκολλα.
Αυτές οι γλώσσες ακολουθούν ένα καθολικό πρότυπο και υποστηρίζουν διάφορες κωδικοποιήσεις για την υποστήριξη χαρακτήρων σχεδόν από όλες τις ομιλούμενες γλώσσες στον κόσμο.
ποιοι είναι οι καλύτεροι ιστότοποι anime
Το καλύτερο πράγμα για τις γλώσσες σήμανσης είναι ότι η γενική χρήση τους δεν σχετίζεται με καμία εντολή συστήματος και αυτό το χαρακτηριστικό τις καθιστά ασφαλέστερες και είναι ο λόγος για την ευρεία και παγκόσμια υιοθέτησή τους. Επομένως, ενδέχεται να μην βρείτε εντολές YAML που μπορούμε να εκτελέσουμε άμεσα για να δημιουργήσουμε οποιαδήποτε έξοδο.
Οφέλη από τη χρήση ενός αρχείου YAML
Το YAML έχει πολλά οφέλη. Ο παρακάτω πίνακας δείχνει μια σύγκριση μεταξύ YAML και JSON. Το JSON σημαίνει τη Σημείωση αντικειμένου JavaScript και το χρησιμοποιούμε ως μορφή ανταλλαγής δεδομένων.
Χαρακτηριστικό | ΓΙΑΜΛ | JSON |
---|---|---|
Πολυλογία | Λιγότερο ριζικά | Περισσότερο ρητό |
Τύποι δεδομένων | Υποστηρίζει σύνθετους τύπους δεδομένων. | Δεν υποστηρίζει σύνθετους τύπους δεδομένων. |
Σχόλια | Υποστηρίζει τη σύνταξη σχολίων χρησιμοποιώντας το '#'. | Δεν υποστηρίζει τη σύνταξη σχολίων. |
Ευανάγνωστο | Πιο αναγνώσιμο από τον άνθρωπο. | Λιγότερο αναγνώσιμο από τον άνθρωπο. |
Αυτοαναφορές | Υποστηρίζει στοιχεία αναφοράς εντός των ίδιων εγγράφων χρησιμοποιώντας '&,' και *. | Δεν υποστηρίζει την αυτοαναφορά. |
Πολλαπλά έγγραφα | Υποστηρίζει πολλά έγγραφα σε ένα αρχείο. | Υποστηρίζει μεμονωμένο έγγραφο σε ένα αρχείο. |
Λόγω των πλεονεκτημάτων του YAML σε σχέση με τις άλλες μορφές αρχείων όπως το JSON, το YAML είναι πιο διαδεδομένο στους προγραμματιστές για την ευελιξία και την ευελιξία του.
Προαπαιτούμενα
Εγκαθιστούμε πρώτα το Python και στη συνέχεια διαμορφώνουμε το Python και τα πακέτα του με το IntelliJ IDEA. Επομένως, εγκαταστήστε το IntelliJ IDEA εάν δεν το έχετε ήδη εγκαταστήσει πριν συνεχίσετε.
Εγκαταστήστε το Python
Ακολουθήστε αυτά τα βήματα για να εγκαταστήσετε και να ρυθμίσετε το Python στα Windows 10.
Βήμα 1
Κατεβάστε το Python και εγκαταστήστε το επιλέγοντας τη ρύθμιση όπως φαίνεται στην παρακάτω εικόνα.

Βήμα 2
Ξεκινήστε τη ρύθμιση και επιλέξτε προσαρμογή της εγκατάστασης. Επιλέξτε το πλαίσιο ελέγχου του Προσθήκη Python στο PATH .

Βήμα # 3
Προσαρμόστε την τοποθεσία του Python όπως εμφανίζεται στην εικόνα.

Βήμα # 4
Προχωρήστε με την εγκατάσταση. Στο τέλος του οδηγού εγκατάστασης Απενεργοποιήστε το όριο διαδρομής στα Windows κάνοντας κλικ στην επιλογή στον Οδηγό.

Τώρα, η ρύθμιση Python ολοκληρώθηκε.
Διαμόρφωση Python με IntelliJ IDEA
Ας διαμορφώσουμε τώρα το IntelliJ IDEA με το Python. Το πρώτο βήμα είναι να εγκαταστήσετε τα πρόσθετα για να μπορέσετε να εργαστείτε σε έργα Python.
Εγκαταστήστε τα Python Plugins
Εγκαταστήστε το Python Community Edition

Εγκαταστήστε το Python Security

Ακολουθήστε τα παρακάτω βήματα για να ολοκληρώσετε τη διαμόρφωση.
Βήμα 1
Χρησιμοποιήστε το μενού Αρχείο και μεταβείτε στις ρυθμίσεις πλατφόρμας. Κάνε κλικ στο Προσθήκη κουμπιού SDK .

Βήμα 2
Επίλεξε το Επιλογή εικονικού περιβάλλοντος και επιλέξτε τον βασικό διερμηνέα της Python ως αυτόν που εγκαταστάθηκε στο προηγούμενο βήμα.

Βήμα # 3
Τώρα επιλέξτε το εικονικό περιβάλλον που δημιουργήθηκε στο προηγούμενο βήμα στο Ρυθμίσεις SDK έργου .

Συνιστούμε ένα εικονικό περιβάλλον για ένα έργο.
Βήμα # 4 (Προαιρετικό)
Ανοίξτε το αρχείο config.py από τον εξερευνητή έργου και κάντε κλικ στο απαιτήσεις εγκατάστασης , όπως φαίνεται στην παρακάτω εικόνα.

Αγνοήστε την απαίτηση ipython εάν απαιτείται, αποεπιλέγοντας μια επιλογή στο παράθυρο διαλόγου Επιλογή πακέτου.

Τώρα, μπορείτε να κατευθυνθείτε στην επόμενη ενότητα για να μάθετε τα βασικά του YAML.
Βασικά στοιχεία του YAML
Σε αυτήν την ενότητα, αναφέρουμε τα βασικά του YAML με τη βοήθεια ενός παραδείγματος αρχείου που ονομάζεται config.yml και config.py. Πιστεύουμε ακράδαντα ότι η εξήγηση των εννοιών του YAML παράλληλα με τη χρήση του σε γλώσσα προγραμματισμού κάνει τη μάθηση καλύτερη.
Επομένως, ενώ εξηγούμε τα βασικά στοιχεία στο YAML, εμείς εμπεριέχουμε επίσης τη χρήση του Python για την ανάγνωση και την εγγραφή των δεδομένων που είναι αποθηκευμένα στο YAML.
Ας δημιουργήσουμε ή ανοίξτε το config.yml στους αντίστοιχους συντάκτες μας και κατανοήστε το YAML.
--- quiz: description: > 'This Quiz is to learn YAML.' questions: - ('How many planets are there in the solar system?', 'Name the non-planet') - 'Who is found more on the web?' - 'What is the value of pi?' - 'Is pluto related to platonic relationships?' - 'How many maximum members can play TT?' - 'Which value is no value?' - 'Don't you know that the Universe is ever-expanding?' answers: - (8, 'pluto') - cats - 3.141592653589793 - true - 4 - null - no # explicit data conversion and reusing data blocks extra: refer: &id011 # give a reference to data x: !!float 5 # explicit conversion to data type float y: 8 num1: !!int '123' # conversion to integer str1: !!str 120 # conversion to string again: *id011 # call data by giving the reference
Παρατηρήστε ότι έχουν αρχεία YAML.lyεπέκταση. Η γλώσσα είναι πεζά. Χρησιμοποιούμε κενά και όχι καρτέλες για εσοχή.
Μαζί με αυτά τα βασικά, ας κατανοήσουμε τους τύπους δεδομένων. Στο YAML που αναφέρθηκε, παρουσιάσαμε τις πληροφορίες σε ένα κουίζ. Ένα κουίζ απεικονίζεται ως κόμβος επιπέδου ρίζας, με χαρακτηριστικά όπως περιγραφή, ερωτήσεις και απαντήσεις.
Τύποι δεδομένων YAML
Το YAML μπορεί να αποθηκεύσει Scalars, Sequences και Mappings. Έχουμε δείξει πώς να γράφουμε όλους τους απαραίτητους τύπους δεδομένων στο αρχείο config.yml.
Οι κλίμακες είναι χορδές, ακέραιοι αριθμοί, πλωτήρες και booleans. Τα δεδομένα τύπου Strings περικλείονται σε διπλά εισαγωγικά. Ωστόσο, το YAML δεν επιβάλλει συμβολοσειρές γραφής σε διπλά εισαγωγικά και μπορούμε να χρησιμοποιήσουμε το> ή το | για τη σύνταξη μεγάλων χορδών σε πολλές γραμμές.
Κοιτάξτε τους διάφορους τύπους δεδομένων και τις αντιστοιχισμένες τιμές στον παρακάτω πίνακα.
Τύπος δεδομένων | Παραδείγματα τύπων δεδομένων στο Config.yml |
---|---|
Σειρά Οι χορδές μπορούν να αποθηκευτούν με ή χωρίς εισαγωγικά. | κουίζ: περιγραφή:> Αυτό το κουίζ είναι να μάθετε YAML ερωτήσεις: - 'Ποιος βρίσκεται περισσότερο στον Ιστό;' απαντήσεις: - γάτες |
Ακέραιος και πλωτήρας Οι ακέραιοι και οι πλωτήρες αναφέρονται στην αρχική τους μορφή | κουίζ: ερωτήσεις: - 'Ποια είναι η αξία του pi;' - 'Πόσα μέγιστα μέλη μπορούν να παίξουν TT;' απαντήσεις: - 3.141592653589793 - 4 |
Boolean Τα Booleans αποθηκεύονται χρησιμοποιώντας συμβολοσειρά true / false ή ναι / όχι | κουίζ: ερωτήσεις: - «Ο Πλούτωνας σχετίζεται με πλατωνικές σχέσεις;» - «Δεν ξέρετε ότι το Σύμπαν επεκτείνεται συνεχώς;» απαντήσεις: - αλήθεια - μην |
Ακολουθίες Οι ακολουθίες δημιουργούνται με τη βοήθεια αγκυλών (. | κουίζ: απαντήσεις: - (8, «Πλούτωνας») |
βιβλιογραφικές αναφορές Η αυτοαναφορά χρησιμοποιείται με τη βοήθεια των & & * | # ρητή μετατροπή δεδομένων και επαναχρησιμοποίηση μπλοκ δεδομένων επιπλέον: αναφορά: & id011 # δώστε μια αναφορά στα δεδομένα # Άλλες τιμές και πάλι: * id011 # δεδομένα κλήσης δίνοντας την αναφορά |
Παρατίθενται παρακάτω μερικά από τα αξιοσημείωτα πρόσθετα στοιχεία ενός αρχείου YAML.
Εγγραφο
Τώρα παρατηρήστε τις τρεις παύλες -. Δηλώνει την έναρξη ενός εγγράφου. Αποθηκεύουμε το πρώτο έγγραφο με ένα κουίζ ως το ριζικό στοιχείο και περιγραφή, ερωτήσεις και απαντήσεις ως θυγατρικά στοιχεία με τις σχετικές τιμές.
Άσεμνοι τύποι δεδομένων
Παρατηρήστε το πλήκτρο ενότητας που ονομάζεται έξτρα στο config.yml. Βλέπουμε ότι με τη βοήθεια διπλών θαυμαστικών, μπορούμε να αναφέρουμε ρητά τους τύπους δεδομένων των τιμών που είναι αποθηκευμένες στο αρχείο. Μετατρέπουμε έναν ακέραιο σε float χρησιμοποιώντας !! float. Χρησιμοποιούμε το !! str για να μετατρέψουμε έναν ακέραιο σε συμβολοσειρά και το !! int για να μετατρέψουμε τη συμβολοσειρά σε ακέραιο.
Το πακέτο YAML της Python μας βοηθά στην ανάγνωση του αρχείου YAML και το αποθηκεύουμε εσωτερικά ως λεξικό. Η Python αποθηκεύει τα πλήκτρα λεξικού ως συμβολοσειρές και μετατρέπει αυτόματα τις τιμές σε τύπους δεδομένων Python, εκτός εάν αναφέρεται ρητά χρησιμοποιώντας το '!!'.
Διαβάστε το αρχείο YAML στο Python
Σε γενικές γραμμές, χρησιμοποιούμε τον επεξεργαστή YAML και έναν επικυρωτή YAML κατά τη σύνταξη του YAML. Το YAML Validator ελέγχει το αρχείο τη στιγμή της σύνταξης.
Το πακέτο Python YAML διαθέτει ενσωματωμένο πρόγραμμα ανάλυσης YAML, το οποίο αναλύει το αρχείο πριν το αποθηκεύσει στη μνήμη.
Ας δημιουργήσουμε και ανοίξτε το config.py στους αντίστοιχους συντάκτες μας με το παρακάτω περιεχόμενο.
import yaml import pprint def read_yaml(): ''' A function to read YAML file''' with open('config.yml') as f: config = yaml.safe_load(f) return config if __name__ == '__main__': # read the config yaml my_config = read_yaml() # pretty print my_config pprint.pprint(my_config)
Για να ελέγξετε ότι έχετε ολοκληρώσει τα περιγραφόμενα βήματα που αναφέρονται παραπάνω, εκτελέστε το config.py.
Ανοίξτε το αρχείο config.py στο IntelliJ IDEA, εντοπίστε το κύριο μπλοκ και εκτελέστε το αρχείο χρησιμοποιώντας το εικονίδιο αναπαραγωγής.

Μόλις εκτελέσουμε το αρχείο, βλέπουμε την κονσόλα με την έξοδο.

Στη λειτουργία read_yaml, ανοίγουμε το αρχείο config.yml και χρησιμοποιούμε τη μέθοδο safe_load του πακέτου YAML για να διαβάσουμε τη ροή ως λεξικό Python και στη συνέχεια να επιστρέψουμε αυτό το λεξικό χρησιμοποιώντας τη λέξη-κλειδί επιστροφής.
Η μεταβλητή my_config αποθηκεύει το περιεχόμενο του αρχείου config.yml ως λεξικό. Χρησιμοποιώντας το όμορφο πακέτο εκτύπωσης της Python που ονομάζεται pprint, εκτυπώνουμε το λεξικό στην κονσόλα.
Παρατηρήστε την παραπάνω έξοδο. Όλες οι ετικέτες YAML αντιστοιχούν στους τύπους δεδομένων της Python, έτσι ώστε το πρόγραμμα να μπορεί να χρησιμοποιεί περαιτέρω αυτές τις τιμές. Αυτή η διαδικασία κατασκευής αντικειμένων Python από την εισαγωγή κειμένου ονομάζεται Deserialisation.
Γράψτε το αρχείο YAML στο Python
Ανοίξτε το config.py και προσθέστε τις ακόλουθες γραμμές κώδικα ακριβώς κάτω από τη μέθοδο read_yaml και πάνω από το κύριο μπλοκ του αρχείου.
def write_yaml(data): ''' A function to write YAML file''' with open('toyaml.yml', 'w') as f: yaml.dump(data, f)
Στη μέθοδο write_yaml, ανοίγουμε ένα αρχείο που ονομάζεται toyaml.yml σε κατάσταση εγγραφής και χρησιμοποιούμε τη μέθοδο dump των πακέτων YAML για να γράψουμε το έγγραφο YAML στο αρχείο.
Τώρα προσθέστε τις παρακάτω γραμμές κώδικα στο τέλος του αρχείου config.py
# write A python object to a file write_yaml(my_config)
Αποθηκεύστε το config.py και εκτελέστε το αρχείο χρησιμοποιώντας την παρακάτω εντολή ή χρησιμοποιώντας το εικονίδιο αναπαραγωγής στο IDE.
python config.py
Βλέπουμε ότι η παραπάνω εντολή εκτυπώνει τα περιεχόμενα του config.yml στην έξοδο της κονσόλας ή του συστήματος. Το πρόγραμμα Python γράφει το ίδιο περιεχόμενο σε ένα άλλο αρχείο που ονομάζεται toyaml.yml. Η διαδικασία σύνταξης του αντικειμένου Python σε εξωτερικό αρχείο ονομάζεται Serialization.
Πολλαπλά έγγραφα στο YAML
Το YAML είναι αρκετά ευέλικτο και μπορούμε να αποθηκεύσουμε πολλά έγγραφα σε ένα αρχείο YAML.
Δημιουργήστε ένα αντίγραφο του αρχείου config.yml ως configs.yml και επικολλήστε τις παρακάτω γραμμές στο τέλος του αρχείου.
--- quiz: description: | This is another quiz, which is the advanced version of the previous one questions: q1: desc: 'Which value is no value?' ans: Null q2: desc: 'What is the value of Pi?' ans: 3.1415
Τρεις παύλες - στο παραπάνω απόσπασμα σηματοδοτεί την αρχή ενός νέου εγγράφου στο ίδιο αρχείο. Χρήση | αφού η ετικέτα περιγραφής μας δίνει τη δυνατότητα να γράψουμε ένα κείμενο πολλαπλών γραμμών τύπου string. Εδώ στο νέο έγγραφο, έχουμε αποθηκεύσει ερωτήσεις και απαντήσεις ως ξεχωριστές αντιστοιχίσεις τοποθετημένες κάτω από ερωτήσεις.
Τώρα δημιουργήστε ένα νέο αρχείο που ονομάζεται configs.py και επικολλήστε τον παρακάτω κώδικα στο αρχείο.
import yaml import pprint def read_yaml(): ''' A function to read YAML file''' with open('configs.yml') as f: config = list(yaml.safe_load_all(f)) return config def write_yaml(data): ''' A function to write YAML file''' with open('toyaml.yml', 'a') as f: yaml.dump_all(data, f, default_flow_style=False) if __name__ == '__main__': # read the config yaml my_config = read_yaml() # pretty print my_config pprint.pprint(my_config) # write A python object to a file write_yaml(my_config)
Παρατηρήστε τις αλλαγές στις συναρτήσεις read_yaml και write_yaml. Στο read_yaml, χρησιμοποιούμε τη μέθοδο safe_load_all του πακέτου YAML για να διαβάσουμε όλα τα έγγραφα που υπάρχουν στο configs.yml ως λίστα. Παρομοίως, στο write_yaml, χρησιμοποιούμε τη μέθοδο dump_all για να γράψουμε τη λίστα όλων των εγγράφων που έχουν ήδη διαβαστεί σε ένα νέο αρχείο που ονομάζεται toyaml.yml.
Τώρα εκτελέστε το configs.py.
python configs.py
Η έξοδος της παραπάνω εντολής εμφανίζεται παρακάτω.
({'quiz': {'answers': ((8, 'pluto'), 'cats', 3.141592653589793, True, 4, None, False), 'description': 'This Quiz is to learn YAML', 'questions': (('How many planets are there in the solar system?', 'Name the non planet'), 'Who is found more on the web?', 'What is the value of pi?', 'Is pluto related to platonic relationships?', 'How many maximum members can play TT?', 'Which value is no value?', 'Don't you know that Universe is ever-expanding?')}}, {'quiz': {'description': 'This is another quiz, which
' 'is the advanced version of the previous one
', 'questions': {'q1': {'ans': None, 'desc': 'Which value is no value?'}, 'q2': {'ans': 3.1415, 'desc': 'What is the value of Pi?'}}}})
Η έξοδος είναι παρόμοια με την προηγούμενη έξοδο ενός εγγράφου. Το Python μετατρέπει κάθε έγγραφο στο configs.yml σε λεξικό Python. Διευκολύνει την περαιτέρω επεξεργασία και χρήση των τιμών.
Συχνές Ερωτήσεις
Ενδέχεται να συναντήσετε τις παρακάτω ερωτήσεις ενώ εργάζεστε με το YAML.
Ε # 1) Είναι δυνατόν να διατηρηθεί η σειρά των αντιστοιχίσεων YAML;
Απάντηση: Ναι, είναι δυνατή η προσαρμογή της προεπιλεγμένης συμπεριφοράς των φορτωτών στο πακέτο pyYAML της Python. Περιλαμβάνει τη χρήση του OrderedDicts και την παράκαμψη του Base resolver με προσαρμοσμένες μεθόδους, όπως φαίνεται εδώ .
Ε # 2) Πώς να αποθηκεύσετε μια εικόνα στο YAML;
Απάντηση: Μπορείτε να βάλετε κωδικοποίηση base64 σε μια εικόνα και να τη διατηρήσετε σε YAML, όπως φαίνεται παρακάτω.
image: !!binary | iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==
Q # 3) Ποια είναι η διαφορά μεταξύ> και | ετικέτες στο YAML;
Απάντηση: Και τα δύο> και | επιτρέψτε τη σύνταξη τιμών σε πολλές γραμμές στο YAML. Χρησιμοποιούμε περισσότερο από το σύμβολο> για να γράφουμε συμβολοσειρές πολλαπλών γραμμών και | να αντιπροσωπεύει τις κυριολεκτικές τιμές. Τιμές γραμμένες με χρήση | δεν χρειάζεται να δραπετεύσεις. Για παράδειγμα, μπορούμε να αποθηκεύσουμε Html χρησιμοποιώντας |.
template: | This is a test paragraph
This is another paragraph
Q # 4) Ποια είναι η σημασία του… στο τέλος του αρχείου YAML.
Απάντηση: Τρεις περίοδοι… είναι προαιρετικά αναγνωριστικά. Αυτά μπορούν να χρησιμοποιηθούν για την επισήμανση του τέλους του εγγράφου σε μια ροή.
Ε # 5) Πώς να γράψετε σχόλια στο αρχείο YAML;
Απάντηση: Χρησιμοποιούμε # για να γράψουμε ένα σχόλιο μίας γραμμής. Το YAML δεν υποστηρίζει σχόλια πολλαπλών γραμμών. Επομένως, πρέπει να χρησιμοποιήσουμε το # σε πολλές γραμμές, όπως φαίνεται παρακάτω.
# this is # a single line as well as multi-line # comment
συμπέρασμα
Σε αυτόν τον οδηγό, καλύψαμε τα βήματα προετοιμασίας του περιβάλλοντος ανάπτυξης τόσο στα Windows όσο και στο Linux για να ξεκινήσετε με το YAML. Συζητήσαμε σχεδόν όλες τις έννοιες των βασικών τύπων δεδομένων του YAML, του προγράμματος επεξεργασίας YAML και του προγράμματος ανάλυσης YAML.
Έχουμε επίσης επισημάνει τα οφέλη από τη χρήση του YAML σε σχέση με άλλες γλώσσες σήμανσης και παρέχουμε παραδείγματα κώδικα με τη βοήθεια ενός υποστηρικτικού δείγματος έργου. Ελπίζουμε ότι τώρα οι μαθητές μπορούν να χρησιμοποιήσουν το YAML για να αφαιρέσουν δεδομένα από τη λογική της εφαρμογής για να γράψουν αποτελεσματικό και διατηρήσιμο κώδικα.
Καλή μάθηση !!
Συνιστώμενη ανάγνωση
- Εκμάθηση Python για αρχάριους (ΔΩΡΕΑΝ Κατάρτιση Python)
- Διαδικασία εισαγωγής και εγκατάστασης Python
- Tutorial Python Django - Ξεκινώντας με το Django
- Εκμάθηση Python DateTime με παραδείγματα
- Εκμάθηση χειρισμού αρχείων Python: Πώς να δημιουργήσετε, να ανοίξετε, να διαβάσετε, να γράψετε
- TestComplete Tutorial: Ένας ολοκληρωμένος οδηγός εργαλείου δοκιμών GUI για αρχάριους
- Δηλώσεις ελέγχου Python (Python Continue, Break and Pass)
- Έννοιες Python OOPs (Μαθήματα Python, Αντικείμενα και Κληρονομικότητα)