Hướng dẫn how do you read and write yaml file in python? - làm thế nào để bạn đọc và ghi tệp yaml trong python?

Giới thiệu

Trong hướng dẫn này, chúng tôi sẽ học cách sử dụng thư viện YAML trong Python 3. YAML là viết tắt của một ngôn ngữ đánh dấu khác.

Trong những năm gần đây, nó đã trở nên rất phổ biến để sử dụng trong việc lưu trữ dữ liệu theo cách tuần tự hóa cho các tệp cấu hình. Vì YAML về cơ bản là định dạng dữ liệu, thư viện YAML khá ngắn gọn, vì chức năng duy nhất cần thiết của nó là khả năng phân tích các tệp được định dạng YAML.

Trong bài viết này, chúng tôi sẽ bắt đầu bằng cách xem cách dữ liệu được lưu trữ trong tệp YAML, tiếp theo là tải dữ liệu đó vào một đối tượng Python. Cuối cùng, chúng ta sẽ học cách lưu trữ một đối tượng Python trong tệp YAML. Vì vậy, hãy bắt đầu.

Trước khi chúng tôi tiến xa hơn, có một vài điều kiện tiên quyết cho hướng dẫn này. Bạn nên có một sự hiểu biết cơ bản về cú pháp của Python và/hoặc đã thực hiện ít nhất kinh nghiệm lập trình cấp độ mới bắt đầu với một số ngôn ngữ khác. Ngoài ra, hướng dẫn khá đơn giản và dễ theo dõi cho người mới bắt đầu.

Cài đặt

Quá trình cài đặt cho YAML khá thẳng về phía trước. Có hai cách để làm điều đó; Chúng ta sẽ bắt đầu với dễ dàng đầu tiên:

Phương pháp 1: thông qua PIP

Cách dễ nhất để cài đặt thư viện YAML trong Python là thông qua trình quản lý gói PIP. Nếu bạn đã cài đặt PIP trong hệ thống của mình, hãy chạy lệnh sau để tải xuống và cài đặt YAML:

$ pip install pyyaml

Phương pháp 2: Thông qua nguồn

Trong trường hợp bạn chưa cài đặt PIP hoặc đang phải đối mặt với một số vấn đề với phương thức trên, bạn có thể truy cập trang nguồn của thư viện. Tải xuống kho lưu trữ dưới dạng tệp zip, mở dấu nhắc thiết bị đầu cuối hoặc lệnh và điều hướng đến thư mục nơi tải xuống tệp. Khi bạn ở đó, hãy chạy lệnh sau:

$ python setup.py install

Ví dụ về mã YAML

Trong phần này, chúng tôi sẽ tìm hiểu cách xử lý [thao tác] các tệp yaml, bắt đầu bằng cách đọc chúng, tức là cách tải chúng vào tập lệnh Python của chúng tôi để chúng tôi có thể sử dụng chúng theo nhu cầu của chúng tôi. Vì vậy, hãy bắt đầu.

Đọc các tệp yaml trong python

Trong phần này, chúng ta sẽ xem cách đọc các tệp yaml trong Python.

Hãy bắt đầu bằng cách tạo hai tệp được định dạng YAML.

Nội dung của tệp đầu tiên như sau:

# fruits.yaml file

apples: 20
mangoes: 2
bananas: 3
grapes: 100
pineapples: 1

Nội dung của tệp thứ hai như sau:

# categories.yaml file

sports:

  - soccer
  - football
  - basketball
  - cricket
  - hockey
  - table tennis

countries:

  - Pakistan
  - USA
  - India
  - China
  - Germany
  - France
  - Spain

Bạn có thể thấy rằng các tệp

$ python setup.py install
2 và
$ python setup.py install
3 chứa các loại dữ liệu khác nhau. Cái trước chỉ chứa thông tin về một thực thể, tức là trái cây, trong khi cái sau chứa thông tin về thể thao và quốc gia.

Bây giờ chúng ta hãy thử đọc dữ liệu từ hai tệp mà chúng tôi đã tạo bằng tập lệnh Python. Phương thức

$ python setup.py install
4 từ mô -đun
$ python setup.py install
5 có thể được sử dụng để đọc các tệp yaml. Nhìn vào kịch bản sau:

# process_yaml.py file

import yaml

with open[r'E:\data\fruits.yaml'] as file:
    # The FullLoader parameter handles the conversion from YAML
    # scalar values to Python the dictionary format
    fruits_list = yaml.load[file, Loader=yaml.FullLoader]

    print[fruits_list]

Output:

{ 'apples': 20, 'mangoes': 2, 'bananas': 3, 'grapes': 100, 'pineapples': 1 }

Trong tập lệnh trên, chúng tôi đã chỉ định

$ python setup.py install
6 là giá trị cho tham số
$ python setup.py install
7 tải ngôn ngữ YAML đầy đủ, tránh thực thi mã tùy ý. Thay vì sử dụng hàm
$ python setup.py install
8 và sau đó chuyển
$ python setup.py install
6 làm giá trị cho tham số
$ python setup.py install
7, bạn cũng có thể sử dụng hàm
# fruits.yaml file

apples: 20
mangoes: 2
bananas: 3
grapes: 100
pineapples: 1
1, như chúng ta sẽ thấy trong ví dụ tiếp theo.

Bây giờ chúng ta hãy thử và đọc tệp YAML thứ hai theo cách tương tự bằng cách sử dụng tập lệnh Python:

# read_categories.py file

import yaml

with open[r'E:\data\categories.yaml'] as file:
    documents = yaml.full_load[file]

    for item, doc in documents.items[]:
        print[item, ":", doc]

Vì có 2 tài liệu trong tệp

$ python setup.py install
3, chúng tôi đã chạy một vòng lặp để đọc cả hai.

Output:

sports : ['soccer', 'football', 'basketball', 'cricket', 'hockey', 'table tennis']
countries : ['Pakistan', 'USA', 'India', 'China', 'Germany', 'France', 'Spain']

Như bạn có thể thấy trong hai ví dụ cuối cùng, thư viện tự động xử lý việc chuyển đổi dữ liệu được định dạng YAML sang từ điển và danh sách Python.

Viết các tệp yaml bằng python

Bây giờ chúng ta đã học được cách chuyển đổi tệp YAML thành từ điển Python, chúng ta hãy cố gắng làm mọi thứ theo cách khác xung quanh tức là tuần tự hóa từ điển Python và lưu trữ nó thành một tệp được định dạng YAML. Với mục đích này, chúng ta hãy sử dụng cùng một từ điển mà chúng ta nhận được làm đầu ra từ chương trình cuối cùng của chúng ta.

import yaml

dict_file = [{'sports' : ['soccer', 'football', 'basketball', 'cricket', 'hockey', 'table tennis']},
{'countries' : ['Pakistan', 'USA', 'India', 'China', 'Germany', 'France', 'Spain']}]

with open[r'E:\data\store_file.yaml', 'w'] as file:
    documents = yaml.dump[dict_file, file]

Phương thức

# fruits.yaml file

apples: 20
mangoes: 2
bananas: 3
grapes: 100
pineapples: 1
3 lấy từ điển Python làm phương thức đầu tiên và một đối tượng tệp làm tham số thứ hai.

Khi mã trên thực thi, một tệp có tên

# fruits.yaml file

apples: 20
mangoes: 2
bananas: 3
grapes: 100
pineapples: 1
4 sẽ được tạo trong thư mục làm việc hiện tại của bạn.

Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!

# store_file.yaml file contents:

- sports:

  - soccer
  - football
  - basketball
  - cricket
  - hockey
  - table tennis
- countries:

  - Pakistan
  - USA
  - India
  - China
  - Germany
  - France
  - Spain

Một chức năng hữu ích khác mà thư viện YAML cung cấp cho phương thức

# fruits.yaml file

apples: 20
mangoes: 2
bananas: 3
grapes: 100
pineapples: 1
3 là tham số
# fruits.yaml file

apples: 20
mangoes: 2
bananas: 3
grapes: 100
pineapples: 1
6. Để hiển thị những gì nó làm, hãy áp dụng nó trên tệp đầu tiên của chúng tôi, tức là trái cây.yaml:

$ python setup.py install
0

Output:

$ python setup.py install
1

Bạn có thể thấy trong đầu ra rằng các loại trái cây đã được sắp xếp theo thứ tự bảng chữ cái.

Sự kết luận

Trong hướng dẫn ngắn gọn này, chúng tôi đã học cách cài đặt Thư viện YAML của Python [Pyyaml] để thao tác các tệp được định dạng YAML. Chúng tôi đã tải nội dung của tệp YAML vào chương trình Python của chúng tôi dưới dạng từ điển, cũng như tuần tự hóa từ điển Python trong các tệp YAML và lưu trữ các khóa của chúng. Thư viện khá ngắn gọn và chỉ cung cấp các chức năng cơ bản.

Làm thế nào để bạn viết một tập tin yaml bằng 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.

Làm cách nào để đọc tệp cấu hình yaml trong Python?

Đọc khóa từ tệp cấu hình YAML Chúng ta có thể đọc dữ liệu bằng YAML. Phương thức LOAD [] lấy con trỏ tệp và trình tải làm tham số. Fullloader xử lý việc chuyển đổi từ các giá trị vô hướng YAML sang từ điển Python. Chỉ mục [0] được sử dụng để chọn thẻ chúng tôi muốn đọc.using yaml. load[] method which takes file pointer and Loader as parameters. FullLoader handles the conversion from YAML scalar values to the Python dictionary. The index [0] is used to select the tag we want to read.

Làm cách nào để đọc và cập nhật tệp yaml trong Python?

Cài đặt và nhập pyyaml..
$ Pip Cài đặt Pyyaml.$ Pip Cài đặt Pyyaml.Trên một số hệ thống bạn cần sử dụng PIP3:.
$ PIP3 Cài đặt pyyaml.$ PIP3 Cài đặt pyyaml.Để sử dụng pyyaml trong tập lệnh của bạn, hãy nhập mô -đun như sau.....
nhập khẩu yaml.nhập khẩu yaml.Đọc và phân tích một tệp yaml với Python ..

Làm cách nào để đọc tệp yaml?

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 cấp 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.

Bài Viết Liên Quan

Chủ Đề