หากคุณจำเป็นต้องอ่านค่าทั้งหมดจากส่วนในไฟล์คุณสมบัติอย่างง่าย:
config.properties
รูปแบบไฟล์ของคุณ:
[SECTION_NAME]
key1 = value1
key2 = value2
คุณรหัส:
import configparser
config = configparser.RawConfigParser()
config.read('path_to_config.properties file')
details_dict = dict(config.items('SECTION_NAME'))
สิ่งนี้จะให้พจนานุกรมที่คีย์เหมือนกับในไฟล์กำหนดค่าและค่าที่เกี่ยวข้อง
details_dict
คือ :
{'key1':'value1', 'key2':'value2'}
ตอนนี้รับค่าของ key1:
details_dict['key1']
วางทั้งหมดในวิธีการที่อ่านส่วนนั้นจากไฟล์ config เพียงครั้งเดียว (ครั้งแรกที่วิธีการที่เรียกว่าในระหว่างการเรียกใช้โปรแกรม)
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
ตอนนี้เรียกใช้ฟังก์ชันข้างต้นและรับค่าคีย์ที่ต้องการ:
config_details = get_config_dict()
key_1_value = config_details['key1']
-------------------------------------------------- -----------
การขยายวิธีการที่กล่าวถึงข้างต้นการอ่านส่วนโดยส่วนโดยอัตโนมัติแล้วเข้าถึงโดยชื่อส่วนตามด้วยชื่อคีย์
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
วิธีเข้าถึง:
config_dict = get_config_section()
port = config_dict['DB']['port']
(ที่นี่ 'DB' เป็นชื่อส่วนในไฟล์กำหนดค่าและ 'พอร์ต' เป็นคีย์ภายใต้ส่วน 'DB')