모듈 가져오기를 위한 편리한 Python 라이브러리

autoload_module 이라는 Python 라이브러리를 출시했습니다.
파이썬 프로그래밍이 더 편할 것입니다.

도서관이란?



This library 모듈을 자동으로 가져오고 클래스 개체를 가져올 수 있습니다. 예시는 아래와 같습니다.
  • 디렉토리

  • project/
     ├ example.py
     └ validator/
       ├ validator_a.py
       ├ validator_b.py
       └ validator_c.py
    

  • validator_a.py

  • class ValidatorA:
        # b and c are same.
        def valildate(self, input):
            # process of validation
    

  • example.py

  • from autoload.module_loader import ModuleLoader
    
    input = "foo bar baz"
    loader = ModuleLoader()
    
    # Automatically import modules and return class objects
    validator_classes = loader.load_classes("validator")
    try:
        # initialize and execute method
        [clazz().validate(input) for clazz in validator_classes]
    except:
        print("input is invalid!!")
    

    함수 객체를 얻을 수도 있습니다.

    # This is the example you defined not classes but functions like 'validate_A', 'validate_B' and 'validate_C'
    validate_functions = loader.load_functions("validator")
    [func(input) for func in validate_functions]
    


    유용한 것은 무엇입니까?



    대량으로 무언가를 하는 것이 유용할 것입니다.
    구체적인 사용예로서 다음을 상정합니다.
  • 검증
  • 파이프라인

  • 파이프라인의 예는 아래와 같습니다.
  • 디렉토리

  • project/
     ├ example.py
     └ pipelineA/
       ├ get_data_a.py
       └ processing_data_a.py
     └ pipelineB/
       ├ get_data_b.py
       └ processing_data_b.py
    


  • example.py

  • from autoload.module_loader import ModuleLoader
    
    package_names = ("pipelineA", "pipelineB")
    loader = ModuleLoader()
    
    # You should use library like `concurrent.futures`
    for package_name in package_names:
        GetData, ProcessingData = loader.load_classes(package_name)
        data = GetData().get()
        processed_data = ProcessingData().process(data)
    


    뜨거운 사용



    this 을 읽으십시오.

    결론



    This library 모듈을 자동으로 가져옵니다.
    당신의 기여를 환영합니다!

    좋은 웹페이지 즐겨찾기