Hướng dẫn how does yaml work in python? - yaml hoạt động như thế nào trong python?
Ngôn ngữ đánh dấu YAML AIN (YAML) là ngôn ngữ tuần tự hóa dữ liệu cho hầu hết các ngôn ngữ lập trình. Hãy để hiểu chi tiết.is a data serialization language for most programming languages. Let’s understand in detail. Show Yaml Một siêu sao nghiêm ngặt của JSON, vì vậy bất cứ điều gì được viết bằng JSON đều có thể được phân tích cú pháp cho Yaml. Nó chủ yếu được sử dụng cho các tệp cấu hình trong các dự án và nó rất dễ hiểu và đọc mã. a strict superset of JSON, so anything written in JSON can be parsed to YAML. It’s mostly used for configuration files in projects and it’s super easy to understand and read the code. Tiện ích mở rộng tệp cho các tệp yaml là 0 hoặc 1
Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về các loại dữ liệu khác nhau có trong YAML và làm việc với YAML trong Python. Đến cuối hướng dẫn này, bạn sẽ có thể hiểu YAML và cú pháp của nó.
YAML theo cú pháp thụt tương tự như Python. Nhưng, nó không cho phép tab (hãy nhớ nó trong khi viết các tệp yaml) để thụt vào.tab (remember it while writing YAML files) for indentation. Thành lập
Không cần phải quảng cáo thêm nữa, hãy để nhảy vào phần các kiểu dữ liệu của YAML. Kiểu dữ liệu trong yamlTất cả mọi thứ trong yaml & nbsp; là một cặp giá trị khóa.YAML is a key-value pair. Chúng tôi có một tên khác nhau cho các cặp giá trị khóa trong các ngôn ngữ lập trình khác nhau như từ điển, băm, đối tượng, v.v., đây là các khối xây dựng của YAML. Các phím có thể là các chuỗi (được trích dẫn hoặc bình thường), phao hoặc số nguyên (hỗ trợ có thể thay đổi trong bản cập nhật trong tương lai). Và các giá trị có thể thuộc bất kỳ loại dữ liệu nào mà YAML hỗ trợ. Hãy cùng xem các loại dữ liệu khác nhau trình bày trong YAML. SốYAML hỗ trợ số nguyên, số nổi và số nổi theo cấp số nhân.supports integers, floating numbers, and exponential floating numbers.
Khi bạn đánh giá mã trên với tập lệnh Python, bạn sẽ nhận được kết quả như sau.
Chúng ta có thể đại diện cho các giá trị trong các hệ thống số khác nhau như thập phân, bát phân và thập lục phân.decimal, octal, and hexadecimal.
Xem ví dụ dưới đây.
Chúng ta có thể thấy các giá trị thập phân được chuyển đổi của giá trị bát phân và thập lục phân bằng cách chạy tập lệnh Python của chúng ta. Bạn sẽ thấy đầu ra chính xác như sau.
Một điều thú vị khác về YAML là chúng ta có thể đại diện cho NAN (không phải là một số) và vô cùng.NAN(Not A Number) and Infinity.
Chạy tập lệnh Python, bạn sẽ thấy các giá trị được chuyển đổi của NAN và INF thành Python.NAN, and inf to Python.
Đó là nó cho các loại số trong yaml. DâyChuỗi trong YAML có thể được biểu diễn có hoặc không có báo giá. Cả hai đều giống nhau. Không giống như JSON, không có quy tắc nghiêm ngặt nào để đặt mỗi chuỗi vào báo giá. Nhưng, nếu chúng ta cần sử dụng các chuỗi thoát, thì chúng ta phải sử dụng các trích dẫn kép.with or without quotes. Both are similar. Unlike JSON there is no strict rule to put every string in quotes. But, if we need to use the escape sequences, then we must use double-quotes. Hãy cùng xem một số ví dụ về chuỗi.
Nhân vật Newline trong cặp có giá trị khóa hoạt động như mong đợi. Như chúng tôi đã nói, chúng tôi cần sử dụng trích dẫn kép để làm việc với các chuỗi thoát. Chúng tôi đã sử dụng trích dẫn kép trong cặp giá trị khóa tiếp theo và nó hoạt động như mong đợi. Giải thích mã YAML ở trên với tập lệnh Python của chúng tôi. Bạn sẽ nhận được kết quả như sau.
Có hai ký tự đặc biệt trong YAML mà chúng ta có thể sử dụng để viết nhiều câu làm giá trị cho một khóa. Hãy nói rằng chúng ta phải chia một câu dài thành nhiều dòng. Trong loại kịch bản này, chúng ta có thể sử dụng ký tự nếp gấp (lớn hơn>) hoặc khối (ống |) để viết nhiều dòng.fold (greater than >) or block (pipe |) character to write multiple lines. Điều gì khác biệt giữa các ký tự gấp và khối? Đến với nó.fold and block characters? Coming to it. Nhân vật gấp giành được giải thích các dòng Newlines, trong khi ký tự khối.character won’t interpret the newlines, whereas block character does. Hãy cùng xem các ví dụ. 0Chạy tập lệnh Python, sau đó bạn sẽ thấy sự khác biệt giữa các ký tự và khối. Và đừng quên sử dụng thụt lề. fold and block characters. And don’t forget to use indentation. 1BooleansTrong YAML, chúng ta có thể đại diện cho giá trị boolean true và false theo ba cách khác nhau. Nhìn họ kìa.True and False in three different ways. Look at them.
2Nếu bạn giải thích mã YAML ở trên, thì bạn sẽ nhận được 3 giá trị khóa đầu tiên là đúng và 3 giá trị chính tiếp theo là sai.True and the next 3 key values as False. 3Vô giá trịYAML hỗ trợ giá trị null tương tự như JSON. Chúng ta có thể sử dụng từ khóa null hoặc biểu tượng Tilde (~) để xác định giá trị null trong yaml. YAML có các lựa chọn thay thế đẹp phải không? Vâng, họ là loại tuyệt vời.null or the symbol tilde(~) to define the null value in YAML. YAML got pretty alternatives right? Yeah, they are kind of cool. 4Chạy kịch bản Python. Bạn sẽ nhận được cả hai giá trị như không có gì như Python không sử dụng thay vì từ khóa null.None as Python uses None instead of the null keyword. 5MảngChúng ta có thể chỉ định các mảng tương tự như Python trong YAML. Hoặc chúng ta có thể viết tất cả các phần tử mảng trong các dòng riêng biệt trước dấu gạch nối (-). Hãy cùng xem một ví dụ cho mỗi đại diện.hyphen (-). Let’s see an example for each representation. 6Trong mã YAML ở trên, chúng tôi đã sử dụng dấu ngoặc vuông tương tự như danh sách Python. Hãy cùng xem một cách khác để đại diện cho các mảng trong YAML (có vẻ như danh sách đánh dấu).square brackets similar to Python lists. Let’s see another way to represent arrays in YAML (looks like markdown lists). 7Nếu bạn sử dụng tập lệnh Python của chúng tôi để giải thích các ví dụ trên. Bạn sẽ nhận được đầu ra như sau. 6Chúng ta có thể có từ điển trong danh sách không chỉ chuỗi, số, v.v., 9Bạn sẽ nhận được một loạt từ điển nếu bạn giải thích mã YAML ở trên với tập lệnh Python của chúng tôi. 0Từ điểnChúng ta đã thấy cú pháp của từ điển trong các ví dụ trên. Để nhanh chóng tóm tắt lại từ điển là các cặp giá trị chính. Chúng tôi có thể có bất kỳ loại dữ liệu hợp lệ nào làm giá trị cho khóa. YAML thậm chí còn hỗ trợ các từ điển lồng nhau. Hãy cùng xem một ví dụ. 1Giải thích mã trên bạn sẽ thấy kết quả tương tự như sau. 2Bạn có biết bạn có thể chuyển đổi một danh sách thành một từ điển trong Python không? BộYAML hỗ trợ một loại dữ liệu khác được gọi là SET. Đặt chứa các giá trị duy nhất tương tự như kiểu dữ liệu đặt Pythons. Đặt các mục được đi trước bởi dấu hỏi (?) Giống như các mục trong danh sách trước dấu gạch nối (-).question mark (?) like list items preceded by hyphens (-). Chúng ta cần đề cập rằng kiểu dữ liệu được đặt bằng cách sử dụng !! Đặt theo tên & nbsp; đặt tên.!!set after the set name. Nhìn vào ví dụ sau. 3Vì Set chỉ chứa các giá trị duy nhất, bạn đã giành được 2 lần khi bạn diễn giải mã YAML ở trên với tập lệnh Python của chúng tôi.2 two times when you interpret the above YAML code with our Python script. Hãy cùng xem kết quả. 4Chúng ta cũng có thể đại diện cho tập hợp tương tự như cú pháp Python như sau. 5Bạn sẽ nhận được đầu ra chính xác như ví dụ trên. Đó là nó cho các loại dữ liệu trong YAML. Hãy cùng xem một số tính năng bổ sung trong YAML. YAML ủng hộ ý kiến. Thật tuyệt vời. Chúng ta có thể viết nhận xét trong YAML bắt đầu bằng biểu tượng băm (#).hash (#) symbol. 6Nếu bạn giải thích mã YAML ở trên, thì bạn sẽ nhận được một khóa trống với giá trị null. 7YAML không hỗ trợ các bình luận đa dòng. Chúng ta phải viết nhiều dòng bắt đầu bằng một hàm băm cho các nhận xét đa dòng tương tự như Python. NeoNeo cho phép chúng tôi sao chép nội dung của một khóa bất cứ nơi nào chúng tôi muốn trong toàn bộ tài liệu. Điều này rất tiện dụng nếu bạn thích sao chép một số nội dung trong tài liệu.allow us to copy the content of a key wherever we want in the entire document. This is very handy if you like to duplicate some content in the document. Để sử dụng neo, chúng ta phải xác định tên cho nó là một tên biến trong các ngôn ngữ lập trình. Và sau đó chúng ta có thể sử dụng nó trên tài liệu bất cứ nơi nào chúng ta muốn. Chúng ta có thể xác định tên neo bằng cách sử dụng & và sử dụng nó với *. Hãy cùng xem một ví dụ.& and use it with *. Let’s see an example. 8Trong ví dụ trên, chúng tôi đã sử dụng mỏ neo Dublicate_data để sao chép giá trị của khóa dữ liệu. Cả hai khóa đều chứa các giá trị giống nhau nếu bạn giải thích YAML ở trên.duplicate_data anchor to copy the value of the data key. Both the keys contain the same values if you interpret the above YAML. 9Sự kết luậnTôi hy vọng bạn có một sự hiểu biết tốt về Yaml. Bây giờ, bạn có thể sử dụng YAML trong tệp cấu hình dự án tiếp theo của mình. Bạn có thể tham khảo trang web chính thức của YAML để có được những thứ nâng cao hơn. Mã hóa hạnh phúc 🙂 Làm thế nào để Python xử lý tệp yaml?Chúng ta có thể đọc tệp yaml bằng hàm yaml.load () của mô -đun pyyaml. Hàm này phân tích cú pháp và chuyển đổi một đối tượng YAML thành Từ điển Python (đối tượng Dict). Quá trình này được gọi là deserializing yaml thành một con trăn.using the PyYAML module's yaml. load() function. This function parse and converts a YAML object to a Python dictionary ( dict object). This process is known as Deserializing YAML into a Python.
Tệp YAML hoạt động như thế nào?YAML là ngôn ngữ tuần tự hóa dữ liệu có thể tiêu hóa thường được sử dụng để tạo các tệp cấu hình với bất kỳ ngôn ngữ lập trình nào.Được thiết kế cho sự tương tác của con người, YAML là một superset nghiêm ngặt của JSON, một ngôn ngữ tuần tự hóa dữ liệu khác.Nhưng bởi vì đó là một siêu sao nghiêm ngặt, nó có thể làm mọi thứ mà JSON có thể và hơn thế nữa.. Designed for human interaction, YAML is a strict superset of JSON, another data serialization language. But because it's a strict superset, it can do everything that JSON can and more.
Làm thế nào để bạn viết yaml trong python?Viết tệp yaml trong python open config.py và thêm các dòng mã sau ngay bên dưới phương thức read_yaml và phía trên khối chính của tệp.Trong phương thức write_yaml, chúng tôi mở một tệp có tên Toyaml.YML ở chế độ ghi và sử dụng phương thức kết xuất của các gói YAML để ghi tài liệu YAML vào tệp.Open config.py and add the following lines of code just below the read_yaml method and above the main block of the file. In the write_yaml method, we open a file called toyaml. yml in write mode and use the YAML packages' dump method to write the YAML document to the file.
Yaml có dựa trên Python không?Tuy nhiên, Python thiếu hỗ trợ tích hợp cho định dạng dữ liệu YAML, thường được sử dụng để cấu hình và tuần tự hóa, mặc dù có điểm tương đồng rõ ràng giữa hai ngôn ngữ.... các tính năng độc đáo .. |