Kết nối của YAML với Python là gì?
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách đọc, viết hoặc thực hiện các thao tác khác nhau trên các tệp YAML bằng Python. Chúng tôi sẽ thảo luận về định dạng tệp YAML, cách sử dụng và cách chúng tôi có thể thao tác với nó bằng Python Show
Hãy giới thiệu ngắn gọn về YAML YAML là gì?YAML là viết tắt của Yet Another Markup Language. Nó lưu trữ dữ liệu tệp cấu hình theo cách tuần tự hóa; YAML hỗ trợ ba loại dữ liệu - vô hướng (chuỗi, số nguyên và số float), danh sách và mảng kết hợp Các tệp YAML được lưu với. yaml hoặc. tiện ích mở rộng yml. Chúng tôi có thể sử dụng nhận xét trong YAML bằng ký hiệu #. Một dấu gạch nối trước mỗi tiểu mục bên trong. Các giá trị có thể được lồng vào nhau bằng cách sử dụng thụt đầu dòng Ưu điểm của YAMLMột số ưu điểm quan trọng của YAML như sau
Trước khi bắt đầu thêm, chúng tôi giả định rằng bạn đã có hiểu biết cơ bản về Python hoặc có kinh nghiệm lập trình ở cấp độ mới bắt đầu với ngôn ngữ lập trình Python Mô-đun PyYAMLPyYAML là một mô-đun Python cung cấp nhiều phương thức để thực hiện một số thao tác trên tệp YAML. Chúng tôi có thể dễ dàng chuyển đổi tệp YAML thành Từ điển và đọc nội dung của nó. Với sự trợ giúp của mô-đun YAML, chúng ta có thể đọc ghi các tệp YAML cấu hình phức tạp, tuần tự hóa và duy trì dữ liệu YAML Để sử dụng PyYAML, chúng tôi cần cài đặt nó trong hệ thống của mình. Dưới đây là các bước cài đặt của mô-đun PyYAML Cài đặt PyYAMLChúng ta có thể cài đặt nó bằng phương pháp dưới đây
Sử dụng lệnh pip Chúng ta có thể cài đặt nó bằng lệnh pip. Nhập lệnh sau vào terminal để cài đặt mô-đun PyYAML Cài đặt qua mã nguồn Chúng ta có thể sử dụng cách cài đặt thay thế trong trường hợp gặp lỗi bằng cách sử dụng lệnh pip. Thực hiện theo các hướng dẫn dưới đây
Đọc tệp YAMLĐầu tiên, chúng tôi tạo một tệp YAML mới có tên là mẫu. tệp yaml sẽ sử dụng để đọc bằng mô-đun PyYAML vật mẫu. py cây khoai mỡ. phương thức load() được sử dụng để đọc tệp YAML. Phương thức này phân tích cú pháp và chuyển đổi đối tượng YAML thành từ điển Python để chúng ta có thể đọc nội dung dễ dàng. Quá trình này được gọi là Deserialization các tệp YAML thành Python Phương thức load() nhận một đối số, có thể là chuỗi byte, đối tượng tệp nhị phân mở, chuỗi Unicode hoặc đối tượng tệp YAML mở Nếu chúng ta chuyển tệp hoặc chuỗi byte làm đối số, nó sẽ được mã hóa bằng utf-8, utf-16-be hoặc utf-16-le Hãy hiểu ví dụ sau Thí dụ - đầu ra [{'UserName': 'Antonio', 'Password': 'fire123 *', 'phone': 9879098, 'Skills': '-Python -SQL -Django -Rest Framework -JavaScript'}] Giải trình - Chúng tôi đã nhập yaml và Trình tải của nó vào trình đọc tệp YAML trong đoạn mã trên. Hàm load() đi kèm với bốn loại Trình tải
Phương thức load() trả về đối tượng trình tạo mà chúng ta nhập vào danh sách và có thể truy cập bất kỳ phần tử nào Chúng tôi cũng có thể nhận được các giá trị tương tự ở dạng từ điển. Hãy hiểu ví dụ sau Chúng tôi cũng có thể lấy các giá trị yaml ở dạng từ điển. Hãy hiểu ví dụ sau Ví dụ - 2 đầu ra {'UserName': 'Antonio', 'Password': 'fire123 *', 'phone': 9879098, 'Skills': '-Python -SQL -Django -Rest Framework -JavaScript'} Chúng tôi đã thay đổi đối số vô hướng SafeLoader thành FullLoader đã chuyển đổi dữ liệu YAML thành Từ điển. Ưu điểm của loader này là không cần gõ cast dữ liệu đã load vào list Đọc nhiều tài liệu YAMLChúng ta có thể đọc nhiều tài liệu yaml bằng cách sử dụng yaml. phương thức load_all(). Một tệp YAML có thể có nhiều tài liệu. Dưới đây là ví dụ về nhiều tài liệu trong một tệp vật mẫu. khoai mỡ Văn bản bắt đầu bằng ba dấu gạch ngang (---) và kết thúc bằng ba dấu chấm (…). Hãy hiểu ví dụ sau Thí dụ - đầu ra [{'UserName': 'Antonio', 'Password': 'fire123 *', 'phone': 9879098, 'Skills': '-Python -SQL -Django -Rest Framework -JavaScript'}, {'UserName': 'Maino', 'Password': 'fire123 *', 'phone': 9879098, 'Skills': '-Python -SQL -Django -Rest Framework -JavaScript'}, {'UserName': 'George', 'Password': 'fire123 *', 'phone': 9879098, 'Skills': '-Python -SQL -Django -Rest Framework -JavaScript'}] Giải trình - Phương thức load() trả về đối tượng trình tạo mà chúng tôi đã nhập vào danh sách để chúng tôi có thể truy cập bất kỳ phần tử nào. Trong các ví dụ trước, chúng ta đã học cách đọc tệp YAML. Bây giờ chúng ta sẽ tìm hiểu cách kết xuất dữ liệu vào tệp YAML Viết tệp YAML bằng mô-đun PyYAMLViết dữ liệu Python vào YAML được gọi là tuần tự hóa. Để kết xuất dữ liệu vào tệp yaml, chúng tôi sẽ sử dụng yaml. phương thức đổ (). Hãy hiểu ví dụ sau Thí dụ - đầu ra Password: [email protected] Phone: 345464 Skills: - Python - SQL - Django - Rest Framework - JavaScript User: Zoey - name: Zaara occupation: Dentist Giải trình - Phương thức dump() chuyển đổi các đối tượng Python thành định dạng YAML và ghi chúng vào tệp YAML. Chúng tôi đã làm tương tự trong ví dụ trên. Phương thức kết xuất () nhận hai đối số - dữ liệu và luồng Đối số dữ liệu đại diện cho đối tượng Python sẽ chuyển đổi thành luồng YAML. Tham số thứ hai là tệp phải là tệp văn bản hoặc tệp nhị phân. Dữ liệu luồng YAML được ghi bằng tên tệp đã cho; Hãy hiểu ví dụ về ghi dữ liệu Python trong tệp Ví dụ - 2 đầu ra MớiChi tiết. khoai mỡ - User: Zoey Password: [email protected] Phone: 345464 Skills: - Python - SQL - Django - Rest Framework - JavaScript - name: Zaara occupation: Dentist Giải trình Trong ví dụ trên, Đầu tiên, chúng tôi đã xác định từ điển Python sẽ được ghi trong tệp. Sau đó, chúng tôi đã mở các chi tiết mới. Tệp YAML ở chế độ ghi. Chúng tôi đã sử dụng phương thức dump() và chuyển đối tượng dict Python bằng hai thẻ khác. Các thẻ này là -
Kết xuất nhiều tài liệu YAMLcây khoai mỡ. phương thức dump_all() được sử dụng để kết xuất nhiều tài liệu YAML vào một luồng. Phương thức này lấy một danh sách hoặc trình tạo tạo ra các đối tượng Python được tuần tự hóa thành tài liệu YAML và đối số tùy chọn thứ hai dưới dạng tệp mở Hãy hiểu ví dụ sau Thí dụ - đầu ra Using dump() method - Password: [email protected] Phone: 345464 Skills: - Python - SQL - Django - Rest Framework - JavaScript User: Zoey - name: Zaara occupation: Dentist Using dump_all() method Password: [email protected] Phone: 345464 Skills: - Python - SQL - Django - Rest Framework - JavaScript User: Zoey --- name: Zaara occupation: Dentist Các phím sắp xếp Python YAMLsort_keys là một thẻ tùy chọn được sử dụng khi kết xuất dữ liệu Python vào tệp. Nếu chúng ta đặt là True, Nó sẽ sắp xếp tất cả các khóa của tài liệu YAML theo thứ tự bảng chữ cái. Hãy hiểu ví dụ sau Thí dụ - đầu ra import yaml from yaml.loader import FullLoader #open yaml file in read with open('sample.yaml', 'r') as f: print("Before Sorting?..") yaml_data = yaml.load(f, Loader=FullLoader) print(yaml_data) print("After Sorting......") sorted_data = yaml.dump(yaml_data, sort_keys=True) print(sorted_data) Định dạng tệp YAMLMô-đun PyYaml cung cấp phương tiện để định dạng tệp YAML trong khi viết tài liệu YAML trong đó. Phương thức kết xuất () hỗ trợ các đối số định dạng khác nhau. Dưới đây là các đối số định dạng Tham số -
Hãy hiểu ví dụ sau - Thí dụ - đầu ra Password: fire123 * Skills: -Python -SQL -Django -Rest Framework -JavaScript UserName: Antonio phone: 9879098 Lớp Python tùy chỉnh YAML có thể tuần tự hóaChúng ta có thể tạo lớp Python tùy chỉnh có thể chuyển đổi YAML thành một đối tượng Python tùy chỉnh thay vì danh sách hoặc các loại tích hợp sẵn Hãy hiểu ví dụ sau - Thí dụ - đầu ra Thẻ tùy chỉnh với PyYAMLChúng tôi có thể tạo các thẻ tùy chỉnh theo yêu cầu của ứng dụng và gán giá trị mặc định cho các thẻ tùy chỉnh trong khi phân tích tệp YAML. Để làm như vậy, nó bao gồm các bước nhất định được đưa ra dưới đây
Hãy hiểu ví dụ sau Thí dụ - đầu ra Bảng chuyển đổi trong Mô-đun PyYAMLDưới đây là bảng mà mô-đun PyYAML sử dụng để chuyển đổi các đối tượng Python thành YAML tương đương. Phương thức kết xuất () sử dụng dịch trong khi mã hóa Thẻ YAML Loại Python. nullKhông có. boolbool. phao nổi. intInt. binarystr (byte trong Python3). dấu thời gian Ngày giờ. ngày giờ. ô tô,. cặpDanh sách cặp. đặtBộ. danh sách tiếp theo. strstr hoặc unicode (str trong Python). bản đồLỗi YAMLTrình phân tích cú pháp YAML đưa ra một ngoại lệ gọi là YAMLError trong trường hợp có bất kỳ lỗi nào. Với sự trợ giúp của lỗi này, chúng tôi có thể gỡ lỗi sự cố. Vì vậy, nên sử dụng mã tuần tự hóa YAML trong khối try-expect. Hãy hiểu ví dụ sau Thí dụ - mã thông báoMã thông báo thường được sử dụng trong các ứng dụng cấp thấp, chẳng hạn như đánh dấu cú pháp. Chúng tôi có thể tạo phương thức scan() để tạo một bộ mã thông báo. Hãy hiểu ví dụ sau Thí dụ - đầu ra ________số 8 Python YAML sang XMLDữ liệu YAML có thể được chuyển đổi sang định dạng XML bằng mô-đun XMLPlain. XML là tên viết tắt của eXtensible Markup Language sử dụng các thẻ HTML để định nghĩa các thẻ Phương thức obj_from_yaml() được sử dụng để tạo obj thuần XML từ luồng hoặc chuỗi YAML. Để giữ cho phần tử đối tượng đơn giản XML theo thứ tự, các luồng YAML được lưu trữ dưới dạng OrderDict Hãy lấy tệp YAML mẫu có thông tin chi tiết về nhân viên và chuyển nó thành tệp XML Thí dụ - Hãy hiểu việc triển khai mã Thí dụ - Phần kết luậnTrong hướng dẫn này, chúng ta đã học được một số khái niệm quan trọng về các mô-đun YAML và PyYAML. Chúng tôi đã giới thiệu cách tạo thẻ tùy chỉnh, 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. Chúng tôi cũng đã thảo luận về cách thao tác với các tệp định dạng YAML. Hướng dẫn này được bao gồm khá ngắn gọn và chức năng cơ bản của thư viện YAML hoạt động như thế nào 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).
Tại sao nên sử dụng YAML với Python?YAML dễ dàng viết và đọc đối với con người, ngay cả đối với những người không phải là lập trình viên. Đồng thời, cũng dễ dàng phân tích cú pháp YAML, đặc biệt là với Python và thư viện PyYAML. Tính thân thiện với con người và dễ đọc là lợi thế lớn nhất của YAML so với các định dạng khác, như JSON và XML .
Làm cách nào để viết YAML bằng Python?Viết tệp YAML bằng Python
. In the write_yaml method, we open a file called 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. 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.
Làm cách nào để lấy dữ liệu từ tệp YAML trong Python?Ví dụ đọc tệp Yaml mẫu . Đầu tiên nhập mô-đun yaml bằng cách sử dụng câu lệnh nhập Đọc tệp bằng phương pháp mở phương thức safe_load đọc nội dung tệp và chuyển đổi nó thành đối tượng python từ điển kèm theo tập tin đọc thử và mong đợi khối xử lý ngoại lệ |