Hướng dẫn how do you read and write to yaml files in python? - làm thế nào để bạn đọc và ghi vào các 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 cách nào để tải tệp yaml trong python?

Tải trọng python yaml - Đọc tệp yaml Chúng ta có thể đọc tệp yaml bằng hàm module pyyaml ​​YAML.LOAD (). 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.

Làm thế nào để chuyển đổi tệp yaml thành từ điển Python?

Sử dụng mô -đun Pyyaml, chúng ta có thể thực hiện các hành động khác nhau như đọc và viết các tệp YAML phức tạp, tuần tự hóa và dữ liệu YMAL tồn tại. Sử dụng nó để chuyển đổi tệp YAML thành từ điển Python. Sử dụng mô -đun Pyyaml, chúng tôi có thể nhanh chóng tải tệp YAML và đọc nội dung của nó. Có hai cách để cài đặt nó trên máy của bạn.

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

Đọc một khóa từ tệp cấu hình YAML, chúng ta có thể đọc dữ liệu bằng phương thức yaml.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. Để đọc giá trị từ tệp, chúng tôi viết mã dưới đây

Làm thế nào để tạo và in luồng yaml trong Python?

Tạo một tệp Python với tập lệnh sau để tạo và in luồng YAML bằng cách chuyển đổi nội dung của đối tượng Python. Hàm Dump () sắp xếp nội dung của từ điển dựa trên các khóa theo mặc định. Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trên.

Làm thế nào để bạn viết vào một tệp 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.

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

Tệp YAML nên được phân tích cú pháp và cập nhật như dưới đây. Làm cách nào để phân tích các giá trị và cập nhật chúng một cách thích hợp? Nếu bạn sử dụng Pyyaml, bạn có thể sử dụng Trình tải để tải dữ liệu và Dumper để ghi dữ liệu vào tệp. Dữ liệu được tải là một từ điển thông thường trong Python để bạn có thể truy cập phần tử bằng khóa và do đó thay đổi nó như bạn muốn.If you use PyYaml, you can use Loader to load data, and Dumper to write data to file. The data loaded is an ordinary dictionary in Python so you can access element by key and thus change it as you wish.

Làm cách nào để viết một tệp yaml?

Bản tóm tắt của các yếu tố cơ bản của YAML được đưa ra ở đây: Nhận xét bằng YAML bắt đầu với ký tự (#). Nhận xét phải được tách ra khỏi các mã thông báo khác bằng khoảng trắng. Thắng của khoảng trắng được sử dụng để biểu thị cấu trúc. Các tab không được bao gồm làm thụt vào các tệp yaml.Comments in YAML begins with the (#) character. Comments must be separated from other tokens by whitespaces. Indentation of whitespace is used to denote structure. Tabs are not included as indentation for YAML files.

Tập tin Python Yaml hoạt động như thế nào?

YAML tự nhiên hỗ trợ ba loại dữ liệu cơ bản: vô hướng (như chuỗi, số nguyên và phao), danh sách và mảng kết hợp. Phần mở rộng tên tệp được đề xuất chính thức cho các tệp YAML đã được. Yaml. Có hai mô -đun trong Python cho Yaml: Pyyaml ​​và Ruamel.There are two modules in Python for YAML: PyYAML and ruamel.

Làm cách nào để chạy kịch bản Python trong YAML?

1.Cài đặt.Tải xuống MongoDB và tạo một cơ sở dữ liệu có tên là College, bộ sưu tập có tên Student_info.Cho phép xác thực trên cơ sở dữ liệu.....
Mã số.Cấu hình.YML chứa các chi tiết cấu hình cơ sở dữ liệu như URL, cổng, tên người dùng được mã hóa, mật khẩu được mã hóa, tên cơ sở dữ liệu, tên thu thập.....
Chạy.Chạy tập lệnh.py ..

Làm cách nào để đọc nhiều tệp yaml trong Python?

1 câu trả lời..
Sử dụng vòng lặp hoặc danh sách hiểu để lặp lại các tệp, gọi phương thức đọc (), sau đó sử dụng YAML.....
Sử dụng vòng lặp hoặc danh sách hiểu để lặp lại các tệp và kết hợp chúng chỉ trong một chuỗi với định dạng được hiển thị ở trên (với các tài liệu được phân tách bằng \ n --- \ n), để xử lý nó bằng cách sử dụng YAML ..