Yaml trong python là gì?

Hướng dẫn YAML này giải thích YAML là gì, Các khái niệm cơ bản về YAML như kiểu dữ liệu, Trình xác thực YAML, Trình phân tích cú pháp, Trình chỉnh sửa, Tệp, v.v. với sự trợ giúp của các Ví dụ mã bằng Python

Xử lý văn bản trong khoa học máy tính giúp lập trình viên tạo các chương trình và ứng dụng có thể định cấu hình. Ngôn ngữ đánh dấu đóng một vai trò quan trọng trong việc lưu trữ và trao đổi dữ liệu ở định dạng mà con người có thể đọc được

Hơn nữa, các lập trình viên sử dụng các ngôn ngữ đánh dấu như các định dạng trao đổi dữ liệu tiêu chuẩn và phổ biến giữa các hệ thống khác nhau. Một số ví dụ ngôn ngữ đánh dấu bao gồm HTML, XML, XHTML và JSON.

Chúng tôi đã chia sẻ thông tin về một ngôn ngữ đánh dấu khác trong Hướng dẫn YAML dễ thực hiện này

Hướng dẫn này giúp người đọc tìm câu trả lời cho các câu hỏi được đề cập bên dưới. Người học có thể bước những bước đầu tiên và hiểu được bí ẩn của ngôn ngữ đánh dấu nói chung và YAML nói riêng

Các câu hỏi bao gồm

  • Tại sao chúng ta cần ngôn ngữ đánh dấu?
  • YAML là gì?
  • Tại sao YAML được tạo ra?
  • Tại sao chúng ta cần học YAML?
  • Tại sao ngày nay việc học YAML lại quan trọng?
  • Tôi có thể lưu trữ loại dữ liệu nào trong YAML?

Hướng dẫn này cũng hữu ích cho những độc giả có kinh nghiệm khi chúng ta thảo luận về các khái niệm trong ngữ cảnh lập trình nói chung và cả trong ngữ cảnh kiểm thử phần mềm. Chúng tôi cũng sẽ đề cập đến các chủ đề như Tuần tự hóa và Giải tuần tự hóa tại đây

Bạn sẽ học được gì

YAML là gì

Những người tạo ra YAML ban đầu đặt tên nó là “Yet Another Markup language. ” Tuy nhiên, theo thời gian, từ viết tắt đã thay đổi thành “YAML không phải là ngôn ngữ MarkUp. ” YAML là từ viết tắt đề cập đến chính nó và được gọi là từ viết tắt đệ quy

Chúng tôi có thể sử dụng ngôn ngữ này để lưu trữ dữ liệu và cấu hình ở định dạng mà con người có thể đọc được. YAML là một ngôn ngữ cơ bản để học. Cấu trúc của nó cũng dễ hiểu

Clark, Ingy và Oren đã tạo YAML để giải quyết sự phức tạp của việc hiểu các ngôn ngữ đánh dấu khác, vốn khó hiểu và đường cong học tập cũng dốc hơn so với việc học YAML

Để làm cho việc học trở nên thoải mái hơn, như mọi khi, chúng tôi sử dụng một dự án mẫu. Chúng tôi lưu trữ dự án này trên Github với giấy phép MIT cho bất kỳ ai thực hiện sửa đổi và gửi yêu cầu kéo nếu được yêu cầu

Bạn có thể sao chép dự án bằng lệnh bên dưới

git clone git@github.com:h3xh4wk/yamlguide.git

Tuy nhiên, nếu cần, bạn có thể tải xuống tệp zip cho mã và các ví dụ

Ngoài ra, độc giả có thể sao chép dự án này với sự trợ giúp của IntelliJ IDEA. Vui lòng hoàn thành phần về điều kiện tiên quyết để cài đặt Python và định cấu hình nó với IntelliJ IDEA trước khi sao chép dự án

Nhận kho lưu trữ từ Github

Tại sao chúng ta cần ngôn ngữ đánh dấu

Không thể viết mọi thứ bằng mã phần mềm. Đó là bởi vì chúng tôi cần duy trì mã theo thời gian và chúng tôi cần trừu tượng hóa các chi tiết cụ thể cho các tệp hoặc cơ sở dữ liệu bên ngoài

Cách tốt nhất là giảm mã xuống mức tối thiểu nhất có thể và tạo mã theo cách không cần sửa đổi đối với các dữ liệu đầu vào khác nhau mà mã cần

Ví dụ: chúng ta có thể viết một hàm để lấy dữ liệu đầu vào từ một tệp bên ngoài và in nội dung của nó theo từng dòng thay vì viết mã và dữ liệu cùng nhau trong một tệp duy nhất.

Nó được coi là một phương pháp hay nhất vì nó tách biệt mối quan tâm của việc tạo dữ liệu và tạo mã. Phương pháp lập trình trừu tượng hóa dữ liệu từ mã đảm bảo bảo trì dễ dàng

Ngôn ngữ đánh dấu giúp chúng tôi lưu trữ thông tin phân cấp dễ dàng hơn ở định dạng nhẹ hơn và dễ tiếp cận hơn. Các tệp này có thể được trao đổi giữa các chương trình qua internet mà không tốn nhiều băng thông và hỗ trợ các giao thức phổ biến nhất

Các ngôn ngữ này tuân theo một tiêu chuẩn chung và hỗ trợ các mã hóa khác nhau để hỗ trợ các ký tự gần như từ tất cả các ngôn ngữ nói trên thế giới

Điều tốt nhất về ngôn ngữ đánh dấu là việc sử dụng chung của chúng không liên quan đến bất kỳ lệnh hệ thống nào và đặc điểm này giúp chúng an toàn hơn và là lý do để chúng được áp dụng rộng rãi và trên toàn thế giới. Do đó, bạn có thể không tìm thấy bất kỳ Lệnh YAML nào mà chúng tôi có thể chạy trực tiếp để tạo bất kỳ đầu ra nào

Lợi ích của việc sử dụng tệp YAML

YAML có nhiều lợi ích. Bảng dưới đây cho thấy sự so sánh giữa YAML và JSON. JSON là viết tắt của Ký hiệu đối tượng JavaScript và chúng tôi sử dụng nó làm định dạng trao đổi dữ liệu

Thuộc tínhYAMLJSONVerbosityÍt dài dòngThêm dài dòngKiểu dữ liệuHỗ trợ các kiểu dữ liệu phức tạp. Không hỗ trợ các kiểu dữ liệu phức tạp. Nhận xétHỗ trợ viết Nhận xét bằng cách sử dụng "#". Không hỗ trợ viết bình luận. Khả năng đọc Dễ đọc hơn cho con người. Ít người có thể đọc được. Tự tham chiếu Hỗ ​​trợ các yếu tố tham chiếu trong cùng một tài liệu bằng cách sử dụng "&" và *. Không hỗ trợ tự tham chiếu. Nhiều tài liệuHỗ trợ nhiều tài liệu trong một tệp. Hỗ trợ tài liệu duy nhất trong một tập tin duy nhất

Do những lợi ích của YAML so với các định dạng tệp khác như JSON, YAML phổ biến hơn đối với các nhà phát triển vì tính linh hoạt và linh hoạt của nó

Điều kiện tiên quyết

Trước tiên, chúng tôi cài đặt Python, sau đó định cấu hình Python và các gói của nó với IntelliJ IDEA. Do đó, vui lòng cài đặt IntelliJ IDEA nếu chưa cài đặt trước khi tiếp tục

Cài đặt Python

Làm theo các bước sau để cài đặt và thiết lập Python trên Windows 10

Bước 1

Tải xuống Python và cài đặt nó bằng cách chọn thiết lập như trong hình bên dưới

Tải xuống Python

Bước 2

Bắt đầu thiết lập và chọn tùy chỉnh cài đặt. Chọn hộp kiểm Thêm Python vào PATH

Tùy chỉnh cài đặt

Bước 3

Tùy chỉnh vị trí của Python như hiển thị trong ảnh

Tùy chỉnh vị trí

Bước 4

Tiếp tục cài đặt. Kết thúc thủ thuật cài đặt Vô hiệu hóa giới hạn đường dẫn trên Windows bằng cách nhấn vào tùy chọn trên Wizard

Vô hiệu hóa giới hạn đường dẫn

Bây giờ, quá trình thiết lập Python đã hoàn tất

Định cấu hình Python với IntelliJ IDEA

Bây giờ hãy định cấu hình IntelliJ IDEA bằng Python. Bước đầu tiên là cài đặt các Plugin để có thể làm việc trên các dự án Python

Cài đặt Plugin Python

Cài đặt phiên bản cộng đồng Python

Plugin phiên bản cộng đồng Python

Cài đặt bảo mật Python

Plugin bảo mật Python

Thực hiện theo các bước dưới đây để hoàn tất cấu hình

Bước 1

Sử dụng Menu Tệp và Chuyển đến Cài đặt nền tảng. Nhấp vào nút Thêm SDK

SDK cài đặt nền tảng

Bước 2

Chọn tùy chọn Môi trường ảo và chọn trình thông dịch cơ sở của Python làm trình thông dịch đã được cài đặt ở bước trước

Môi trường ảo

Bước 3

Bây giờ, chọn môi trường ảo được tạo ở bước trước trong Cài đặt SDK dự án

SDK dự án

Chúng tôi đề xuất một môi trường ảo cho một dự án

Bước #4 [Tùy chọn]

Mở cấu hình. py từ trình khám phá dự án và nhấp vào yêu cầu cài đặt, như trong hình bên dưới

Yêu cầu cài đặt

Bỏ qua yêu cầu ipython nếu được yêu cầu bằng cách bỏ chọn tùy chọn trong hộp thoại Chọn gói

Bỏ qua yêu cầu cài đặt

Bây giờ, bạn có thể chuyển sang phần tiếp theo để tìm hiểu kiến ​​thức cơ bản về YAML

Khái niệm cơ bản về YAML

Trong phần này, chúng tôi đề cập đến những điều cơ bản về YAML với sự trợ giúp của một tệp ví dụ có tên là config. yml và cấu hình. py. Chúng tôi tin chắc rằng việc giải thích các khái niệm về YAML song song với việc sử dụng nó trong ngôn ngữ Lập trình sẽ giúp việc học trở nên tốt hơn

Do đó, trong khi giải thích những điều cơ bản về YAML, chúng tôi cũng liên quan đến việc sử dụng Python để đọc và ghi dữ liệu được lưu trữ trong YAML

Bây giờ hãy Tạo hoặc mở cấu hình. yml trong trình chỉnh sửa tương ứng của chúng tôi và hiểu 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

Lưu ý rằng các tệp YAML có . tiện ích mở rộng yml. Ngôn ngữ phân biệt chữ hoa chữ thường. Chúng tôi sử dụng khoảng trắng chứ không phải tab để thụt đầu dòng.

Cùng với những điều cơ bản này, hãy hiểu các Kiểu dữ liệu. Trong YAML đã đề cập, chúng tôi đã trình bày thông tin trên một bài kiểm tra. Bài kiểm tra được mô tả dưới dạng nút cấp gốc, có các thuộc tính như mô tả, câu hỏi và câu trả lời

Các kiểu dữ liệu YAML

YAML có thể lưu trữ Vô hướng, Chuỗi và Ánh xạ. Chúng tôi đã trình bày cách ghi tất cả các kiểu dữ liệu cần thiết trong file config. yml

Vô hướng là các chuỗi, số nguyên, số float và booleans. Dữ liệu kiểu Strings được đặt trong dấu nháy kép “. Tuy nhiên, YAML không áp đặt các chuỗi viết trong dấu ngoặc kép và chúng ta có thể sử dụng > hoặc. để viết các chuỗi dài trong nhiều dòng

Xem các loại dữ liệu khác nhau và các giá trị được ánh xạ trong bảng bên dưới

Data TypeVí dụ về Data type trong Config. ymlString
Chuỗi có thể được lưu trữ có hoặc không có dấu ngoặc kép. đố
sự miêu tả. >
Bài kiểm tra này là để học YAML
câu hỏi
- "Ai được tìm thấy nhiều hơn trên web?"
câu trả lời
- những con mèo
Số nguyên và float
Số nguyên và số float được đề cập ở dạng ban đầu
đố
câu hỏi
- "Giá trị của số pi là bao nhiêu?"
- "Có bao nhiêu thành viên tối đa có thể chơi TT?"
câu trả lời
- 3. 141592653589793
- 4
Boolean
Booleans được lưu trữ bằng chuỗi true/false hoặc yes/no
đố
câu hỏi
- "Sao Diêm Vương có liên quan đến các mối quan hệ thuần khiết không?"
- "Bạn không biết rằng Vũ trụ không ngừng mở rộng sao?"
câu trả lời
- ĐÚNG VẬY
- không
trình tự
Các chuỗi được tạo với sự trợ giúp của dấu ngoặc vuông [
đố
câu trả lời
- [8, "sao Diêm Vương"]
Người giới thiệu
Tự tham chiếu được sử dụng với sự trợ giúp của & và *
# chuyển đổi dữ liệu rõ ràng và sử dụng lại các khối dữ liệu
thêm
tham khảo. &id011 # đưa ra tham chiếu đến dữ liệu
# Các giá trị khác
lần nữa. *id011 # gọi dữ liệu bằng cách đưa ra tham chiếu

Dưới đây là một số thành phần bổ sung đáng chú ý của tệp YAML

Tài liệu

Bây giờ hãy chú ý đến ba dấu gạch ngang -. Nó biểu thị sự bắt đầu của một tài liệu. Chúng tôi lưu trữ tài liệu đầu tiên với quiz làm phần tử gốc và mô tả, câu hỏi và câu trả lời dưới dạng phần tử con với các giá trị được liên kết của chúng

Các kiểu dữ liệu rõ ràng

Quan sát phím phần được gọi là phụ trong cấu hình. yml. Chúng tôi thấy rằng với sự trợ giúp của dấu chấm than kép, chúng tôi có thể đề cập rõ ràng đến kiểu dữ liệu của các giá trị được lưu trữ trong tệp. Chúng tôi chuyển đổi một số nguyên thành một số float bằng cách sử dụng. trôi nổi. Chúng tôi sử dụng. str để chuyển đổi một số nguyên thành chuỗi và sử dụng. int để chuyển đổi một chuỗi thành một số nguyên

Gói YAML của Python giúp chúng tôi đọc tệp YAML và lưu trữ nội bộ dưới dạng từ điển. Python lưu trữ các khóa từ điển dưới dạng chuỗi và tự động chuyển đổi giá trị thành kiểu dữ liệu Python trừ khi được chỉ định rõ ràng bằng cách sử dụng “. ”

Đọc tệp YAML bằng Python

Nói chung, chúng tôi sử dụng Trình chỉnh sửa YAML và Trình xác thực YAML tại thời điểm viết YAML. Trình xác thực YAML kiểm tra tệp tại thời điểm viết

Gói Python YAML có Trình phân tích cú pháp YAML tích hợp, giúp phân tích cú pháp tệp trước khi lưu trữ vào bộ nhớ

Bây giờ hãy tạo và mở cấu hình. py trong trình chỉnh sửa tương ứng của chúng tôi với nội dung bên dưới

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]

Để kiểm tra xem bạn đã hoàn thành các bước nêu trên chưa, hãy chạy config. py

Mở cấu hình. py trong IntelliJ IDEA, định vị khối chính và chạy tệp bằng biểu tượng phát

Cấu hình chạy ví dụ

Khi chúng tôi chạy tệp, chúng tôi sẽ thấy bảng điều khiển với đầu ra

Đầu ra ví dụ chạy cấu hình

Trong hàm read_yaml, chúng ta mở config. yml và sử dụng phương thức safe_load của gói YAML để đọc luồng dưới dạng từ điển Python, sau đó trả lại từ điển này bằng từ khóa return

biến my_config lưu trữ nội dung của cấu hình. tệp yml dưới dạng từ điển. Sử dụng gói in đẹp của Python có tên là pprint, chúng tôi in từ điển ra bàn điều khiển

Lưu ý đầu ra ở trên. Tất cả các thẻ YAML tương ứng với các kiểu dữ liệu của Python để chương trình có thể tiếp tục sử dụng các giá trị đó. Quá trình xây dựng các đối tượng Python từ đầu vào văn bản này được gọi là Deserialization

Viết tệp YAML bằng Python

mở cấu hình. 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

def write_yaml[data]:
    """ A function to write YAML file"""
    with open['toyaml.yml', 'w'] as f:
        yaml.dump[data, f]

Trong phương thức write_yaml, chúng tôi mở một tệp có tên là toyaml. yml ở chế độ ghi và sử dụng phương thức kết xuất của gói YAML để ghi tài liệu YAML vào tệp

Bây giờ hãy thêm các dòng mã bên dưới vào cuối tệp config. py

# write A python object to a file
write_yaml[my_config]

Lưu cấu hình. py và chạy tệp bằng lệnh bên dưới hoặc sử dụng biểu tượng phát trong IDE

python config.py

Chúng tôi thấy rằng lệnh trên in nội dung của config. yml vào bảng điều khiển hoặc đầu ra của hệ thống. Chương trình Python ghi cùng một nội dung vào một tệp khác có tên toyaml. yml. Quá trình ghi đối tượng Python vào tệp bên ngoài được gọi là Tuần tự hóa

Nhiều tài liệu trong YAML

YAML khá linh hoạt và chúng tôi có thể lưu trữ nhiều tài liệu trong một tệp YAML

Tạo một bản sao của tập tin cấu hình. yml dưới dạng cấu hình. yml và dán các dòng dưới đây vào cuối tệp

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

Ba dấu gạch ngang — trong đoạn mã trên đánh dấu phần đầu của một tài liệu mới trong cùng một tệp. sử dụng. sau thẻ mô tả cho phép chúng ta viết một văn bản nhiều dòng kiểu string. Ở đây trong tài liệu mới, chúng tôi đã lưu trữ các câu hỏi và câu trả lời dưới dạng các ánh xạ riêng biệt được lồng trong các câu hỏi

Bây giờ hãy tạo một tệp mới có tên là configs. py và dán mã được đề cập bên dưới vào tệp

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]

Lưu ý những thay đổi trong hàm read_yaml và write_yaml. Trong read_yaml, chúng tôi sử dụng phương thức safe_load_all của gói YAML để đọc tất cả các tài liệu có trong cấu hình. yml dưới dạng danh sách. Tương tự, trong write_yaml, chúng ta sử dụng phương thức dump_all để ghi danh sách tất cả các tài liệu đã đọc trước đó vào một tệp mới có tên là toyaml. yml

Bây giờ hãy chạy cấu hình. py

________số 8_______

Đầu ra của lệnh trên được hiển thị bên dưới

[{'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\n'
                          'is the advanced version of the previous one\n',
           'questions': {'q1': {'ans': None,
                                'desc': 'Which value is no value?'},
                         'q2': {'ans': 3.1415,
                                'desc': 'What is the value of Pi?'}}}}]

Đầu ra tương tự như đầu ra tài liệu đơn đã đề cập trước đó. Python chuyển đổi mọi tài liệu trong cấu hình. yml vào từ điển Python. Nó giúp việc xử lý và sử dụng các giá trị tiếp theo trở nên dễ dàng hơn

Các câu hỏi thường gặp

Bạn có thể gặp các câu hỏi dưới đây khi làm việc với YAML

Câu hỏi 1] Có thể duy trì Thứ tự ánh xạ YAML không?

Trả lời. Có, có thể tùy chỉnh hành vi mặc định của trình tải trong gói pyYAML của Python. Nó liên quan đến việc sử dụng OrderedDicts và ghi đè trình phân giải Cơ sở bằng các phương thức tùy chỉnh, như được hiển thị ở đây.

Q #2] Làm cách nào để lưu trữ hình ảnh trong YAML?

Trả lời. Bạn có thể mã hóa một hình ảnh theo cơ sở 64 và giữ nó trong YAML, như minh họa bên dưới.

---
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
0

Q #3] Đâu là sự khác biệt giữa > và. thẻ trong YAML?

Trả lời. Cả > và. cho phép viết giá trị thành nhiều dòng trong YAML. Chúng tôi sử dụng ký hiệu lớn hơn > để viết các chuỗi nhiều dòng và. để đại diện cho các giá trị theo nghĩa đen. Các giá trị được viết bằng cách sử dụng. không cần phải trốn thoát. Ví dụ: chúng ta có thể lưu trữ Html bằng cách sử dụng.

---
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
1

Q #4] Ý nghĩa của … ở cuối tệp YAML là gì

Trả lời. Ba dấu chấm … là số nhận dạng tùy chọn. Chúng có thể được sử dụng để đánh dấu phần cuối của tài liệu trong một luồng.

Q #5] Làm cách nào để viết nhận xét trong tệp YAML?

Trả lời. Chúng tôi sử dụng # để viết nhận xét một dòng. YAML không hỗ trợ nhận xét nhiều dòng. Vì vậy, chúng ta cần sử dụng # trong nhiều dòng, như hình bên dưới.

Ngoài ra, hãy đọc =>> Cách bình luận bằng Python

---
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
2

Phần kết luận

Trong hướng dẫn này, chúng tôi đã đề cập đến các bước chuẩn bị môi trường phát triển trong cả Windows cũng như Linux để bắt đầu với YAML. Chúng tôi gần như đã thảo luận về tất cả các khái niệm về kiểu dữ liệu cơ bản của YAML, trình soạn thảo YAML và Trình phân tích cú pháp YAML

Chúng tôi cũng đã nêu bật những lợi ích của việc sử dụng YAML so với các ngôn ngữ đánh dấu khác và cung cấp các ví dụ về mã với sự trợ giúp của một dự án mẫu hỗ trợ. Chúng tôi hy vọng rằng bây giờ người học có thể sử dụng YAML để trừu tượng hóa dữ liệu từ logic ứng dụng để viết mã hiệu quả và có thể bảo trì

YAML được sử dụng để làm gì?

YAML là ngôn ngữ tuần tự hóa dữ liệu dễ hiểu thường được sử dụng để tạo tệp cấu hình bằng 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 siêu bộ 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ì nó là một superset nghiêm ngặt, nó có thể làm mọi thứ mà JSON có thể và hơn thế nữa.

Python có sử dụng YAML 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ó sự tương đồng rõ ràng giữa hai định dạng này .

YAML là gì?

YAML là ngôn ngữ tuần tự hóa dữ liệu thường được sử dụng để ghi tệp cấu hình. Tùy thuộc vào người bạn hỏi, YAML là viết tắt của yet another markup language hoặc YAML không phải là ngôn ngữ đánh dấu [một từ viết tắt đệ quy], điều này nhấn mạnh rằng YAML dành cho .

Làm cách nào để viết YAML bằng Python?

Viết tệp YAML bằng Python . 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 Open config.py and add the following lines of code just below the read_yaml method and above the main block of the file . Trong phương thức write_yaml, chúng tôi mở một tệp có tên là toyaml. yml ở chế độ ghi và sử dụng phương thức kết xuất của gói YAML để ghi tài liệu YAML vào tệp.

Chủ Đề