티스토리 뷰

참조: https://wikidocs.net/26

[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


댓글
공지사항
최근에 올라온 글
링크
«   2024/04   »
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
글 보관함