본문 바로가기
연구/파이썬

Argparse 예시

by xortl98 2022. 9. 14.
728x90

Argparse를 이용하여 원기둥 넓이 구하는 프로그램 만들기

 

이름을 원하는대로 짓고 해당 파이썬 파일을 만든다. (저는 Study_Argparse라고 지었습니다.)

import math
import argparse

parse = argparse.ArgumentParser(description='Calculate volume of a Cylinder!')
parse.add_argument('-r','--radius',type=int, metavar='', help='원기둥의 반지름')
parse.add_argument('-H','--height',type=int, metavar='', help='원기둥의 높이')
args = parse.parse_args()

def cylinder_volume(radius,heigth):
    vol = (math.pi) * (radius**2) * (heigth)
    return vol

if __name__ == '__main__':
    print(cylinder_volume(args.radius,args.height))

 

그리고 만든 파일 위치에서 우클릭해서 터미널에서 열기 또는 cmd에서 주소를 입력해서 들어가 준다. 

그리고 밑의 명령어를 입력해준단다 python .py이름 -r(원기둥의 반지름) -H(원기둥의 높이)

필자는 C:\Users\이름\Desktop\VSCode\PythonStudy_22_09 위치에 Study_ArgParse 라는 이름으로 파이썬 파일을 만들어 주었다. 

 

parse.add_argument에 써뒀던 help 보는법 python .py이름 --help

 

More 예제

반지름 값을 출력할 때 반지름과 높이도 함께 또는 값만 출력하는 등 다양한 옵션을 주고 싶을 때 

 

더보기
import math
import argparse

parse = argparse.ArgumentParser(description='Calculate volume of a Cylinder!')
parse.add_argument('-r','--radius',type=int, metavar='', help='원기둥의 반지름')
parse.add_argument('-H','--height',type=int, metavar='', help='원기둥의 높이')
#args = parse.parse_args()

group = parse.add_mutually_exclusive_group()
group.add_argument('-q','--quiet',action='store_true', help='결과값만 출력')
group.add_argument('-v','--verbose',action='store_true',help='자세하게 출력')
args = parse.parse_args()


def cylinder_volume(radius,heigth):
    vol = (math.pi) * (radius**2) * (heigth)
    return vol

if __name__ == '__main__':
    volume = cylinder_volume(args.radius, args.height)
    if args.quiet:
        print(volume)
    elif args.verbose:
        print("원기둥의 반지름:%s 높이:%s 를 곱한 값은 %s입니다." % (args.radius, args.height, volume))
    else: 
        print("Volume of Cylinder = %s" % volume)

더보기 아래 둘다 동일하게 작동함 

 

import math
import argparse

parse = argparse.ArgumentParser(description='Calculate volume of a Cylinder!')
parse.add_argument('-r','--radius',type=int, metavar='', help='원기둥의 반지름')
parse.add_argument('-H','--height',type=int, metavar='', help='원기둥의 높이')
#args = parse.parse_args()

#group = parse.add_mutually_exclusive_group()
parse.add_argument('-q','--quiet',action='store_true', help='결과값만 출력')
parse.add_argument('-v','--verbose',action='store_true',help='자세하게 출력')
args = parse.parse_args()


def cylinder_volume(radius,heigth):
    vol = (math.pi) * (radius**2) * (heigth)
    return vol

if __name__ == '__main__':
    volume = cylinder_volume(args.radius, args.height)
    if args.quiet:
        print(volume)
    elif args.verbose:
        print("원기둥의 반지름:%s 높이:%s 를 곱한 값은 %s입니다." % (args.radius, args.height, volume))
    else: 
        print("Volume of Cylinder = %s" % volume)

 

뒤에다가 -q, -v 혹은 아무것도 안넣으면 else문이 실행된다. 

 

참고한 유튜브 영상

https://www.youtube.com/watch?v=cdblJqEUDNo 

더보기

동영상 보고 따라했는데 뭔소린지 몰라서 적어보면서 한다.

'연구 > 파이썬' 카테고리의 다른 글

Pycharm에 conda 가상환경 적용법  (0) 2024.03.11