Làm thế nào để bạn đọc một giá trị từ tệp yaml trong python?
YAML (YAML Ain't Markup Language) là ngôn ngữ tuần tự hóa dữ liệu mà con người có thể đọc được. Nó thường được sử dụng cho các tệp cấu hình, nhưng nó cũng được sử dụng trong lưu trữ dữ liệu (e. g. đầu ra gỡ lỗi) hoặc truyền (e. g. tiêu đề tài liệu) Show YAML vốn hỗ trợ ba loại dữ liệu cơ bản. vô hướng (chẳng hạn như chuỗi, số nguyên và số float), 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 là raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 65. Có hai mô-đun trong Python cho YAML. PyYAML và ruamel. khoai mỡ. Trong hướng dẫn này, chúng tôi sử dụng cái cũ PyYAMLPyYAML là trình phân tích cú pháp và trình phát YAML cho Python $ pip install pyyaml Mô-đun được cài đặt với pip Trong hướng dẫn này, chúng tôi sử dụng các tệp YAML sau raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 6 Chúng tôi có một vài giá trị vô hướng cities: - Bratislava - Kosice - Trnava - Moldava - Trencin --- companies: - Eset - Slovnaft - Duslo Sala - Matador Puchov Chúng tôi có hai tài liệu trong raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 66. Các tài liệu được phân tách bằng raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 67 Python YAML đọcTrong ví dụ đầu tiên, chúng tôi đọc tệp YAML #!/usr/bin/python import yaml with open('items.yaml') as f: data = yaml.load(f, Loader=yaml.FullLoader) print(data) Chúng tôi mở tệp raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 68 và tải nội dung bằng phương pháp raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 69. Dữ liệu được in ra bàn điều khiển $ python read_yaml.py {'raincoat': 1, 'coins': 5, 'books': 23, 'spectacles': 2, 'chairs': 12, 'pens': 6} Mô-đun PyYAML chuyển đổi các giá trị vô hướng thành từ điển Python Nhiều tài liệu YAML được đọc với cities: - Bratislava - Kosice - Trnava - Moldava - Trencin --- companies: - Eset - Slovnaft - Duslo Sala - Matador Puchov0 #!/usr/bin/python import yaml with open('data.yaml') as f: docs = yaml.load_all(f, Loader=yaml.FullLoader) for doc in docs: for k, v in doc.items(): print(k, "->", v) Ví dụ đọc cả hai tài liệu từ tệp raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 66 $ python read_docs.py cities -> ['Bratislava', 'Kosice', 'Trnava', 'Moldava', 'Trencin'] companies -> ['Eset', 'Slovnaft', 'Duslo Sala', 'Matador Puchov'] Kết xuất YAML của PythonPhương thức cities: - Bratislava - Kosice - Trnava - Moldava - Trencin --- companies: - Eset - Slovnaft - Duslo Sala - Matador Puchov2 tuần tự hóa một đối tượng Python thành luồng YAML #!/usr/bin/python import yaml users = [{'name': 'John Doe', 'occupation': 'gardener'}, {'name': 'Lucy Black', 'occupation': 'teacher'}] print(yaml.dump(users)) Trong ví dụ, chúng tôi có một danh sách các từ điển. Chúng tôi tuần tự hóa danh sách thành định dạng YAML bằng phương thức cities: - Bratislava - Kosice - Trnava - Moldava - Trencin --- companies: - Eset - Slovnaft - Duslo Sala - Matador Puchov2 $ python dumping.py - name: John Doe occupation: gardener - name: Lucy Black occupation: teacher Ví dụ sau ghi dữ liệu Python vào tệp YAML #!/usr/bin/python import yaml users = [{'name': 'John Doe', 'occupation': 'gardener'}, {'name': 'Lucy Black', 'occupation': 'teacher'}] with open('users.yaml', 'w') as f: data = yaml.dump(users, f) Ví dụ ghi danh sách từ điển vào tệp cities: - Bratislava - Kosice - Trnava - Moldava - Trencin --- companies: - Eset - Slovnaft - Duslo Sala - Matador Puchov4 raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 60 Chúng tôi ghi dữ liệu bằng phương pháp cities: - Bratislava - Kosice - Trnava - Moldava - Trencin --- companies: - Eset - Slovnaft - Duslo Sala - Matador Puchov2. Tham số đầu tiên là dữ liệu, tham số thứ hai là đối tượng tệp Các phím sắp xếp Python YAMLChúng ta có thể sắp xếp các khóa với tham số cities: - Bratislava - Kosice - Trnava - Moldava - Trencin --- companies: - Eset - Slovnaft - Duslo Sala - Matador Puchov6 cities: - Bratislava - Kosice - Trnava - Moldava - Trencin --- companies: - Eset - Slovnaft - Duslo Sala - Matador Puchov7 raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 61 Ví dụ đọc dữ liệu từ tệp raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 68 và sắp xếp dữ liệu theo các khóa trong đầu ra YAML raincoat: 1 coins: 5 books: 23 spectacles: 2 chairs: 12 pens: 62 Chúng tôi có thể làm việc với API cấp thấp hơn khi phân tích tệp YAML. Phương pháp cities: - Bratislava - Kosice - Trnava - Moldava - Trencin --- companies: - Eset - Slovnaft - Duslo Sala - Matador Puchov9 quét luồng YAML và tạo mã thông báo quét Làm cách nào để đọc các giá trị từ tệp YAML?Tiếp theo, chúng ta cần tải tệp YAML bằng hàm safe_load có sẵn trong gói PyYAML . Từ đoạn mã trên, chúng tôi bắt đầu bằng cách nhập gói yaml. Sau đó, chúng tôi tạo một chức năng chính (bất kỳ tên nào cũng hoạt động) và đặt logic để đọc tệp yaml. Khi tệp được mở và đọc, chúng tôi gọi chức năng chính.
Làm cách nào để đọc tệp YAML dưới dạng từ điển trong Python?Chúng ta sẽ sử dụng các hàm sau để mở và tải tệp YAML. . mở - Chức năng này sẽ mở tệp ở chế độ đọc và lưu trữ dưới dạng luồng khoai mỡ. safe_load - Hàm này chuyển đổi tài liệu YAML thành đối tượng Python. . khoai mỡ. load_all - Ngoài ra, chúng ta cũng có thể sử dụng hàm load all để tải nhiều tệp yaml cùng nhau Dữ liệu được thể hiện như thế nào trong YAML?YAML đại diện cho cấu trúc dữ liệu sử dụng ba loại nút. dãy, ánh xạ và vô hướng . |