Nếu bạn cần đọc tất cả các giá trị từ một phần trong tệp thuộc tính một cách đơn giản:
config.properties
Bố cục tệp của bạn :
[SECTION_NAME]
key1 = value1
key2 = value2
Bạn mã:
import configparser
config = configparser.RawConfigParser()
config.read('path_to_config.properties file')
details_dict = dict(config.items('SECTION_NAME'))
Điều này sẽ cung cấp cho bạn một từ điển trong đó các khóa giống như trong tệp cấu hình và các giá trị tương ứng của chúng.
details_dict
Là :
{'key1':'value1', 'key2':'value2'}
Bây giờ để lấy giá trị của key1:
details_dict['key1']
Đặt tất cả vào một phương thức chỉ đọc phần đó từ tệp cấu hình một lần (lần đầu tiên phương thức được gọi trong khi chạy chương trình).
def get_config_dict():
if not hasattr(get_config_dict, 'config_dict'):
get_config_dict.config_dict = dict(config.items('SECTION_NAME'))
return get_config_dict.config_dict
Bây giờ gọi hàm trên và nhận giá trị của khóa được yêu cầu:
config_details = get_config_dict()
key_1_value = config_details['key1']
-------------------------------------------------- -----------
Mở rộng cách tiếp cận được đề cập ở trên, đọc phần theo phần tự động và sau đó truy cập theo tên phần theo sau là tên khóa.
def get_config_section():
if not hasattr(get_config_section, 'section_dict'):
get_config_section.section_dict = dict()
for section in config.sections():
get_config_section.section_dict[section] =
dict(config.items(section))
return get_config_section.section_dict
Để truy cập:
config_dict = get_config_section()
port = config_dict['DB']['port']
(ở đây 'DB' là tên phần trong tệp cấu hình và 'cổng' là khóa trong phần 'DB'.)