abseil/abseil-py

 

abseil/abseil-py

Abseil Common Libraries (Python). Contribute to abseil/abseil-py development by creating an account on GitHub.

github.com

absl-py

 

absl-py

Abseil Python Common Libraries, see https://github.com/abseil/abseil-py.

pypi.org

 

기본 사용 방법

from absl import app
from absl import flags

FLAGS = flags.FLAGS
flags.DEFINE_string("name", None, "Your name.")
flags.DEFINE_integer("num_times", 1,
                     "Number of times to print greeting.")

# Required flag.
flags.mark_flag_as_required("name")

def main(argv):
  del argv  # Unused.
  for i in range(0, FLAGS.num_times):
    print('Hello, %s!' % FLAGS.name)


if __name__ == '__main__':
  app.run(main)

django 등에서 봤던 프로그래밍 방식을 지원하는 라이브러리로 보인다.

매개변수나 필수 항목, 기본 값, USAGE 출력 등을 미리 처리해주기 때문에 기본적인 스크립트를 작성할 때 간단한 코드로 귀찮은 작업들을 대신해준다.

위와 같은 간단한 코드로 아래와 같은 결과를 얻을 수 있다.

  • python adsl_test.py

  • python adsl_test.py
  • python adsl_test.py --name=TEST
  • python adsl\_test.py --help

Logging

  • 로그를 남기는데 사용되는 함수 형태

abseil / Logging

 

abseil / Logging

An open-source collection of core C++ library code

abseil.io

from absl import app
from absl import flags
from absl import logging

FLAGS = flags.FLAGS
flags.DEFINE_string("name", None, "Your name.")
flags.DEFINE_integer("num_times", 1,
                     "Number of times to print greeting.")

# Required flag.
flags.mark_flag_as_required("name")

def main(argv):
    del argv  # Unused.
    for i in range(0, FLAGS.num_times):
        print('Hello, %s!' % FLAGS.name)
    logging.info("test %s" % FLAGS.name)
    logging.info('Interesting Stuff')
    logging.info('Interesting Stuff with Arguments: %d', 42)

    logging.set_verbosity(logging.INFO)
    logging.log(logging.DEBUG, 'This will *not* be printed')
    logging.set_verbosity(logging.DEBUG)
    logging.log(logging.DEBUG, 'This will be printed')

    logging.warning('Worrying Stuff')
    logging.error('Alarming Stuff')
    logging.fatal('AAAAHHHHH!!!!')  # Process exits

if __name__ == '__main__':
  app.run(main)
  • 위의 코드에 대한 출력 결과

'개발' 카테고리의 다른 글

[python] getattr 함수  (0) 2021.05.10
docker를 이용한 tensorflow 2.x 개발환경 설정  (0) 2021.05.04
pdf2docx를 이용한 pdf 변환 코드  (0) 2021.04.30
eclipse encoding 변경  (0) 2014.08.20
[펌] 언어학 관련 원어 해석  (0) 2011.05.17

+ Recent posts