티스토리 뷰
[sys 모듈로 입력 인수 주기]
도스(DOS)를 사용해 본 독자라면 다음과 같은 명령어를 사용해 봤을 것이다.
C:\> type a.txt
위의 type 명령어는 바로 뒤에 적힌 파일 이름을 인수로 받아 그 내용을 출력해 주는 도스 명령어이다. 대부분의 도스 명령어들은 다음과 같이 명령행(도스 창)에서 입력 인수를 직접 주어 프로그램을 실행시키는 방식을 따른다. 이러한 기능을 파이썬 프로그램에도 적용시킬 수가 있다.
도스 명령어 [인수1 인수2 ...]
파이썬에서는 sys라는 모듈을 이용하여 입력 인수를 직접 줄수 있다. sys 모듈을 이용하려면 아래 예의 import sys처럼 import라는 명령어를 사용해야 한다.
(※ 모듈을 이용하고 만드는 방법에 대해서는 뒤에서 자세히 다룰 것이다.)
#sys1.py
import sys
args = sys.argv[1:]
for i in args:
print(i)
위의 예는 입력받은 인수들을 for문을 이용해 차례대로 하나씩 출력하는 예이다. sys 모듈의 argv는 명령창에서 입력한 인수들을 의미한다. 즉, 아래와 같이 입력했다면 argv[0]는 파일 이름인 sys1.py가 되고 argv[1]부터는 뒤에 따라오는 인수들이 차례로 argv의 요소가 된다.
이 프로그램을 C:/Python 디렉터리에 저장한 후 입력 인수를 함께 주어 실행시키면 다음과 같은 결과값을 얻을 수 있다.
C:\Python>python sys1.py aaa bbb ccc
aaa
bbb
ccc
위의 예를 이용해서 간단한 스크립트를 하나 만들어 보자.
#sys2.py
import sys
args = sys.argv[1:]
for i in args:
print(i.upper(), end=' ')
문자열 관련 함수인 upper()를 이용하여 명령 행에 입력된 소문자를 대문자로 바꾸어 주는 간단한 프로그램이다. 도스창에서 다음과 같이 입력해 보자.
(※ sys2.py 파일이 C:\Python
디렉터리 안에있어야만 한다.)
C:\Python>python sys2.py life is too short, you need python
결과는 다음과 같다.
LIFE IS TOO SHORT, YOU NEED PYTHON
'BackEnd > Python' 카테고리의 다른 글
[퍼옴] [점프투파이썬] raise 강제 에러를 통해 java interface 구현 (0) | 2017.09.14 |
---|---|
[퍼옴] [점프투파이썬] 패키지 (0) | 2017.09.14 |
[퍼옴] [점프투파이썬] 환경변수 및 sys를 이용한 모듈 import (0) | 2017.09.14 |
[퍼옴] [점프투파이썬] 변수와 메모리 관계 (0) | 2017.09.14 |
[퍼옴] [점프투파이썬] 고급 문자열 포멧팅 (0) | 2017.09.14 |
- AI
- mybatis
- AWS
- mysql
- 점프투파이썬
- serverless
- python
- Error
- Maven
- 중앙정보처리학원
- TDD
- javascript
- Gradle
- NIO
- Configuration
- 모두의딥러닝
- API
- 머신러닝
- ML
- BigData
- memory
- tensorflow
- 텐서플로우
- Docker
- spark
- Java
- spring
- executor
- 파이썬
- web
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |