반응형
sys = system
argv = arguments value
sys.argv는 단어 그대로 풀어쓰면 시스템 인자값이라는 뜻이다.
sys.argv의 첫 번째 값인 sys.argv[0]은 기본적으로 실행하는 파이썬 스크립트의 경로이다. 고로 어느 환경에서 실행하든 이 값은 무조건 존재한다.
import sys
print("파이썬 스크립트 경로: ", sys.argv[0])
print("인자값 길이: ", len(sys.argv))
print("모든 인자값 출력: " , str(sys.argv))
해당 파일을 실행하면 다음과 같이 실행된 파일 경로가 나온다.
파이썬 스크립트 경로: util/db_helper.py
인자값 길이: 1
모든 인자값 출력: ['util/db_helper.py']
(+참고로 AWS Lambda에서는 어떻게 나오나 궁금해서 찍어봤더니 실행 경로가 '/var/runtime/awslambda/bootstrap.py'로 나왔다. 실행 파일 이름이 bootstrap.py가 아닌데도! 찾아보니 Lambda 컨테이너를 뜯어보면 이 bootstrap.py가 handler를 감싸 실제로 실행되는 건 bootstrap.py라 한다.)
sys.argv는 주로 실행시 옵션을 받을 때 사용하는데, 인자값을 설정하고 싶다면 스크립트를 실행할 때 인자를 나란히 추가하면 된다.
> python db_helper.py dev
그럼 결과값이 이렇게!
파이썬 스크립트 경로: util/db_helper.py
인자값 길이: 2
모든 인자값 출력: ['util/db_helper.py', 'dev']
참고
[Python] 명령행으로 프로그램 인자값 받기 - sys.argv
반응형
'개발 > python' 카테고리의 다른 글
[Python] Service Account로 구글 스프레드시트 업데이트하기 (8) | 2019.04.15 |
---|---|
[Python] BeautifulSoup로 웹사이트 크롤링하기 (9) | 2019.04.02 |
[Python] 잘 알려져 있지 않은 파이썬 기능 (2) | 2019.03.19 |
[Python] generator와 yield (2) | 2019.02.18 |
Python3.6에서는 dict가 입력순으로 정렬된다. (2) | 2019.02.15 |
댓글