Trong Python, chúng ta có thể đọc tệp cấu hình và sau đó là bắt buộc khi bạn phải sử dụng các thuộc tính được ghi trong tệp thuộc tính trong chương trình của mình. Trong hướng dẫn này, chúng ta sẽ tạo một tệp thuộc tính mẫu và sau đó đọc các giá trị bên trong tệp này bằng thư viện configparser của Python. Thư viện configparser là thư viện Python được sử dụng để đọc các tệp cấu hình trong Python và bạn có thể sử dụng thư viện này để đọc các tệp cấu hình trong chương trình của mình. Ví dụ: bạn có thể lưu trữ chi tiết kết nối cơ sở dữ liệu trong tệp thuộc tính, sau đó sử dụng trình cấu hình để phân tích cú pháp và đọc thông tin xác thực kết nối cơ sở dữ liệu Công dụng chính của tệp thuộc tính trong lập trình là lưu trữ các tham số cấu hình, có thể được chương trình sử dụng trong thời gian chạy. Ví dụ: bạn có thể xác định chuỗi kết nối cơ sở dữ liệu, máy chủ, tên người dùng và mật khẩu trong tệp thuộc tính, sau đó sử dụng các giá trị này để kết nối với cơ sở dữ liệu trong khi thực hiện chương trình. Trong tương lai nếu các tham số cơ sở dữ liệu của bạn bị thay đổi thì bạn chỉ cần cập nhật các giá trị trong tệp thuộc tính trong khi chương trình của bạn sẽ không thay đổi. Vì vậy, theo cách này, các lập trình viên đang sử dụng tệp thuộc tính trong chương trình của họ để lưu các tham số có thể định cấu hình khác nhau của ứng dụng Thư viện configparser đi kèm với Python 3 và nó có thể được nhập trong chương trình Python bằng cách sử dụng câu lệnh nhập 'nhập configparser'. Sau khi nhập thư viện này vào chương trình của bạn, bạn có thể tạo phiên bản của thư viện trình phân tích cú pháp và sau đó sử dụng nó để phân tích cú pháp tệp thuộc tính. Sau khi đọc tệp thuộc tính, bạn có thể lấy giá trị thuộc tính của mình với sự trợ giúp của phương thức get(). Ví dụ sau cho bạn thấy cách đọc tệp thuộc tính trong Python rất dễ dàng Tệp tài sản mẫuTrước hết, chúng tôi sẽ tạo một tệp thuộc tính mẫu và thêm các thuộc tính. Dưới đây là ví dụ mẫu về tệp thuộc tính # Database Configuration [db] db_url=jdbc:mysql://localhost:3308/mydb user=root password=mypass Đây là ảnh chụp màn hình của tệp thuộc tính
Cài đặt trình cấu hìnhTrình cấu hình là thư viện python và trước tiên bạn nên cài đặt trong môi trường python của mình. Lệnh cài đặt thư viện configparser là pip install configparser Lệnh trên sẽ cài đặt thư viện configparser trong môi trường Python của bạn. Bây giờ chúng ta có thể tiến hành phát triển chương trình đọc tệp thuộc tính bằng thư viện configparser Đọc tệp thuộc tính trong Python bằng configparserTrước hết, bạn phải nhập thư viện configparser trong chương trình của mình và để làm điều này, bạn có thể sử dụng mã python sau
Sau đó, chúng tôi sẽ có thể sử dụng thư viện này để tải phân tích cú pháp. tệp thuộc tính. Sau khi đọc db. chúng ta có thể sử dụng phương thức get() để lấy giá trị của thuộc tính trong chương trình Python của mình Đây là mã hoàn chỉnh để đọc tệp thuộc tính trong Python bằng trình cấu hình
Đây là ảnh chụp màn hình của chương trình python trong IDE Bạn có thể chạy chương trình này bằng lệnh sau
Chương trình trên sẽ đọc tệp thuộc tính và in các giá trị của thuộc tính db_url, người dùng và mật khẩu trên bàn điều khiển jProperties là trình phân tích cú pháp và trình ghi tệp thuộc tính Java cho Python. Nó nhằm mục đích cung cấp chức năng giống như lớp Thuộc tính của Java, mặc dù hiện tại định dạng thuộc tính XML không được hỗ trợ Trình phân tích cú pháp tệp thuộc tính hỗ trợ bao gồm siêu dữ liệu có thể đọc được và có thể thiết lập theo chương trình trong các tệp thuộc tính. Siêu dữ liệu cho một khóa được biểu diễn dưới dạng từ điển Python; . Đây là chuyển đổi một chiều; Theo mặc định, phương thức store() không ghi ra siêu dữ liệu. Để bật tính năng đó, hãy đặt đối số từ khóa strip_meta=False khi gọi phương thức Lưu ý rằng hỗ trợ siêu dữ liệu luôn được bật. Điều duy nhất không bắt buộc là thực sự viết ra siêu dữ liệu Các khóa siêu dữ liệu bắt đầu bằng hai dấu gạch dưới (__) không được ghi vào luồng đầu ra bằng phương thức store(). Do đó, chúng có thể được sử dụng để đính kèm siêu dữ liệu “chỉ dành cho thời gian chạy” vào các thuộc tính. Tuy nhiên, hiện tại, siêu dữ liệu với các khóa như vậy vẫn được đọc từ luồng đầu vào bởi load(); Các nhận xét sau định nghĩa thuộc tính có thể được thêm vào siêu dữ liệu bằng khóa _doc nếu đối số tùy chọn metadoc=True được cung cấp cho phương thức tải. Điều này cho phép các thuộc tính được ghi lại trong tệp thuộc tính. Ví dụ, tệp thuộc tính #: _severity=fatal 10001=Fatal internal error: %s # A fatal internal error occurred. Please re-run the command # with the -D option to generate additional debug information. Mã ví dụ sau đây cho thấy cách truy cập tài liệu này
Tài liệu có thể được trích xuất từ các tệp thuộc tính và được sử dụng để tạo các trang trong tài liệu hệ thống tổng thể hoặc có thể được truy cập thông qua các tùy chọn cho các tiện ích dòng lệnh Hỗ trợ siêu dữ liệu ảnh hưởng đến cách các đối tượng Thuộc tính được sử dụng làm đối tượng từ điển
Từ điển nội bộ chứa các cặp khóa-giá trị có thể được truy cập bằng thuộc tính thuộc tính. Xóa thuộc tính đó sẽ xóa tất cả các cặp khóa-giá trị khỏi đối tượng Tuy nhiên, việc sửa đổi thuộc tính bằng thuộc tính đặc biệt này sẽ không sửa đổi siêu dữ liệu theo bất kỳ cách nào. Điều đó có nghĩa là xóa các thuộc tính bằng cách thực hiện del prop_obj. thuộc tính [key] sẽ không xóa siêu dữ liệu được liên kết khỏi đối tượng. Thay vào đó, hãy làm del prop_obj[key] Tuy nhiên, thuộc tính properties vẫn hữu ích để đặt nhiều giá trị mặc định trước khi phân tích tệp thuộc tính |