Martijen의 대답은 의미가 있지만 다른 사람들에게는 분명해 보일지 모르지만 알아 내기가 어려웠던 중요한 것이 누락되었습니다.
argparse를 사용하는 버전에서는 본문에이 줄이 있어야합니다.
args = parser.parse_args(args)
일반적으로 스크립트에서 argparse를 사용하는 경우
args = parser.parse_args()
parse_args는 명령 줄에서 인수를 찾습니다. 그러나이 경우 주 함수는 명령 줄 인수에 액세스 할 수 없으므로 인수가 무엇인지 argparse에 알려야합니다.
다음은 예입니다.
import argparse
import sys
def x(x_center, y_center):
print "X center:", x_center
print "Y center:", y_center
def main(args):
parser = argparse.ArgumentParser(description="Do something.")
parser.add_argument("-x", "--xcenter", type=float, default= 2, required=False)
parser.add_argument("-y", "--ycenter", type=float, default= 4, required=False)
args = parser.parse_args(args)
x(args.xcenter, args.ycenter)
if __name__ == '__main__':
main(sys.argv[1:])
이 mytest.py 이름을 지정했다고 가정하면 실행하려면 명령 줄에서 다음 중 하나를 수행 할 수 있습니다.
python ./mytest.py -x 8
python ./mytest.py -x 8 -y 2
python ./mytest.py
각각 반환
X center: 8.0
Y center: 4
또는
X center: 8.0
Y center: 2.0
또는
X center: 2
Y center: 4
또는 다른 파이썬 스크립트에서 실행하려면 다음을 수행하십시오.
import mytest
mytest.main(["-x","7","-y","6"])
반환하는
X center: 7.0
Y center: 6.0
myModule.main()
. 지금까지 뭐 해봤 어?