python 을 이용 하여 설정 파일 을 읽 는 방법

5688 단어 python프로필
머리말
        인터페이스 자동화 테스트 스 크 립 트 를 작성 할 때,때때로 우 리 는 코드 에서 변 수 를 정의 하고 변수 에 고정된 값 을 부여 해 야 한다.이러한 고정된 변 수 를 통일 적 으로 관리 하고 조작 하기 위해 서 우 리 는 일반적으로 이러한 고정된 변 수 를 일정한 규칙 으로 지정 한 프로필 에 설정 합 니 다.나중에 이러한 변수 와 변수 값 을 사용 해 야 할 때 코드 를 통 해 데 이 터 를 읽 거나 이 프로필 에 기록 하면 됩 니 다.프로필 을 사용 하 는 장점 은 프로그래머 가 쓰 지 않 아 도 프로그램 을 더욱 유연 하 게 할 수 있 습 니 다.따라서 python 언어 에 대해 configparser 모듈 을 봉 하여 지정 한 형식의 파일(파일 이름 은 일반적으로 xxx.ini)을 처리 합 니 다.설정 파일 의 형식 은 windows 아래 ini 설정 파일 과 비슷 하고 하나 이상 의 절(section)을 포함 할 수 있 으 며,절 마다 여러 개의 인자(키=값)를 가 질 수 있 습 니 다.
        주:현재 python 3 버 전 작업 프로필 모듈 이름 은 configparser 로 변경 되 었 으 며,기 존 python 2 버 전 프로필 모듈 이름 은 ConfigParser 로 변경 되 었 습 니 다.
configparser 모듈 기능 소개
 configparser 모듈 은 주로 ConfigParser()클래스,RawConfigParser()클래스,SafeConfigParser()클래스 등 을 제공 합 니 다.다음 그림 에서 configparser 모듈 을 가 져 오 면 모듈 에 포 장 된 모든 클래스 를 보고 사용 할 수 있 습 니 다.

configparser 모듈 에 서 는 주로 포 장 된 ConfigParser()클래스 가 제공 하 는 방법 으로 프로필 을 조작 하고 프로필 에 대해 데이터 읽 기와 쓰기 등 을 합 니 다.
구체 적 인 이 모듈 python 홈 페이지 는 완전한 소개 가 있 습 니 다.https://docs.python.org/3/library/configparser.html
설정 파일 의 형식 은 다음 과 같 습 니 다.
  • 괄호'[]'에 포 함 된 것 은 section 이다.
  • section 아래 는 key-value 와 유사 한 설정 내용 으로 보통 할당 문자'='로 구 분 됩 니 다.
  •       예시:

     설정 파일 읽 기 및 지정 한 데이터 읽 기 방법
     ConfigParser()클래스 는 설정 파일 읽 기 동작,지정 한 설정 파일 의 section,section 의 모든 key-value 읽 기 등 방법 을 제공 합 니 다.구체 적 인 방법 은 다음 과 같 습 니 다.

     코드 예제:
    
    import configparser
     
    cf = configparser.ConfigParser() #    
     
    # read(filename)     
    filename = cf.read(r'G:\api_test\configfile.ini',encoding='utf-8')
     
    # sections()      section,       
    sec = cf.sections()
    print(sec)
     
    #   section    option
    opt = cf.options("mysql")
    print(opt)
     
    # items   section      
    value = cf.items("mysql")
    print(value)
    print(dict(value)) #       
     
    # get(section,option)   section  option ,  string/int     
    mysql_host = cf.get("mysql","host")
    mysql_password = cf.getint("mysql","port")
    print(mysql_host,mysql_password)
    다음 코드 출력 을 실행 합 니 다:

    프로필 쓰기(삭제 작업)및 제공 하 는 조작 방법
     ConfigParser()클래스 는 수정 프로필 데 이 터 를 기록 하 는 방법 을 제공 합 니 다.구체 적 인 방법 은 다음 과 같 습 니 다.

     설정 파일 에서 다음 정 보 를 편집 합 니 다:

     다음 코드 편집:
    
    import configparser
     
    conf = configparser.ConfigParser()
    conf.read(r'G:\api_test\configfile.ini',encoding='utf-8')
     
    conf.set("code", "code", "6666")  #     section  option
    conf.set("code", "age", "123")  #     section  option
    conf.has_section("code")
    conf.has_option("code","age")
    #conf.remove_section("test")
    #conf.remove_option("test","haha")
    if 'test' not in conf.sections():
        conf.add_section("test")  #   section
        conf.set("test", "haha", "123")  #     section   option
    file = open(r'G:\api_test\configfile.ini', 'w',encoding='utf-8')
    conf.write(file)
    file.close()
    실행 종료 후 다음 과 같 습 니 다:

     수정 프로필 을 편집 하려 면 프로필 을 닫 는 것 을 기억 하 십시오.
    위 에서 ConfigParser()클래스 를 사용 하여 프로필 을 읽 고 쓰 는 방법 을 제공 하면 프로필 을 편리 하 게 조작 할 수 있 습 니 다.그러나 설정 파일 에 데 이 터 를 읽 고 기록 하 는 코드 는 패키지 되 지 않 았 습 니 다.설정 파일 을 사용 하여 데 이 터 를 읽 고 기록 해 야 하기 때문에 설정 파일 을 읽 고 쓰 는 작업 을 공공 모듈 로 밀봉 하 는 것 을 권장 합 니 다.설정 파일 의 데 이 터 를 읽 는 패 키 징 을 조작 할 경우 설정 파일 의 내용 은 다음 과 같 습 니 다.

    새 readconfig.py 파일,패키지 에서 프로필 을 읽 는 코드 입 니 다.인 스 턴 스 는 다음 과 같 습 니 다.
    
    import configparser
    import os
     
    class ReadConfig():
        def __init__(self, filepath=None):
     
            root_dir = os.path.dirname(os.path.abspath('.'))        #        
            # print("  ",root_dir)
            configpath = os.path.join(root_dir, "configfile.ini")  #     
            # print("      ",configpath)
            self.cf = configparser.RawConfigParser()
            self.cf.read(configpath,encoding='utf-8')
        def get_cookie(self, param):
            value = self.cf.get("cookie", param)
            return value
        def get_sheet(self,param):
            value = self.cf.get("sheet",param)
            return value
        def get_mysql(self,param):
            value = self.cf.get("mysql",param)
            return value
        def get_code(self,param):
            value = self.cf.get("code",param)
            return value
    이렇게 클래스 로 봉 인 된 후 후속 다른 모듈 은 프로필 데 이 터 를 읽 어야 합 니 다.프로필 을 읽 는 코드 를 반복 적 으로 쓰 지 않 고 이 봉 인 된 클래스 를 직접 도입 하고 대상 호출 클래스 에 봉 인 된 방법 을 실례 화하 면 됩 니 다.
    이상 은 python 을 이용 하여 프로필 의 상세 한 내용 을 읽 는 방법 입 니 다.python 에서 프로필 을 읽 는 데 관 한 자 료 는 다른 글 에 주목 하 십시오!

    좋은 웹페이지 즐겨찾기