- 파이썬 아나콘다 자동실행 Batch 만들기
- 36. 파이썬 – 파일 읽기.내용 추가하기
- 35. 파이썬 – 파일 읽고 쓰기(내용 쓰기.파일 읽기)
- 34. 파이썬 – 파일 읽고 쓰기(파일 생성)
프로그램 입출력
Dos 명령어에 type 이라는 명령이 있습니다.
type 명령을 사용해 파일이름을 입력 받아 파일의 내용을 출력을 하게 됩니다.
C:\> type test.txt
이렇게 명령 프롬프트에서 사용 되는 명령어들은 인수를 전달하여 프로그램을 실행하게끔 됩니다.
이와 같은 기능을 파이썬에서도 사용할 수가 있습니다.
명령어 [인수 1 인수 2 ...]
sys 모듈
파이썬에서는 sys 모듈을 사용하여 프로그램에 인수를 전달 할 수 있습니다.
sys 모듈은 사용하기 전에 먼저 import 명령어를 사용해야 합니다.
# test.py
import sys
test = sys.argv[1:]
for i in test:
print(i)
위 코드는 프로그램을 실행하면서 입력 받은 인수를 for 문을 이용해 하나씩 차례대로 출력하는 코드입니다.
위에서 사용된 sys 모듈의 argv 는 프로그램 실행시 전달된 인수를 의미합니다.
argv[0] 은 파일 이름인 test.py 가 되고 argv[1] 부터는 뒤에 따라오는 인수가 차례로 argb 의 요소가 됩니다.
위에 작성된 코드를 명령 프롬프트를 이용해 실행해 보겠습니다.

명령 프롬프트에서 python test.py aaa bbb ccc 라고 입력을 했습니다.
전달받은 인수를 출력한 걸 볼 수 있습니다.
간단한 코드를 하나 작성 해 보겠습니다
# test_02.py
import sys
test_args = sys.argv[1:]
for i in test_args:
print(i.upper(), end=' ')
위 코드를 마찬가지로 명령 프롬프트에서 실행해 보겠습니다.
![# test_02.py
import sys
test_args = sys.argv[1:]
for i in test_args:
print(i.upper(), end=' ')](https://i0.wp.com/smartdev.kr/wp-content/uploads/2023/04/37.-파이썬-프로그램-입출력-2.webp?resize=900%2C81&ssl=1)
위 코드에서 보면 upper() 함수를 사용해 test_02.py 를 실행할 때 전달 한 인수를 모두 대문자로 바꾸어 준걸 확인 할 수 있습니다.
4장 연습문제 풀이
1. 홀수 짝수 판별
자연수를 입력 받아 홀수 인지 짝수 인지 구별하는 함수 is_odd 를 만들어 보세요
>>> def is_odd(num):
... if num % 2 == 1:
... return True
... else:
... return False
...
>>> is_odd(5)
True
>>> is_odd(8)
False
2. 모든 입력 값의 평균 값 구하기
입력을 받아 모든 수의 평균 값을 구하는 함수를 만들어 보세요
단, 입력으로 들어오는 수의 개수는 정해져 있지 않습니다.
>>> def num_avg(*num):
... tot = 0
... for i in num:
... tot = tot + i
... avg = tot / len(num)
... return(avg)
...
>>> num_avg(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
5.5
3. 프로그램 오류 수정 – 1
두 개의 숫자를 입력 받아 더한 값을 출력해 주는 코드 입니다.
input_01 = input("첫번째 숫자 입력 : ")
input_02 = input("두번째 숫자 입력 : ")
tot = input_01 + input_02
print("입력 받은 두 수의 합은 %s 입니다" % tot)
첫번째 숫자 입력 : 5
두번째 숫자 입력 : 7
입력 받은 두 수의 합은 57 입니다
5 와 7 을 입력 했을 때 결과가 57 이 나왔습니다.
정상적으로 5 + 7 의 결과인 12 가 나오게 수정해 보세요
input_01 = input("첫번째 숫자 입력 : ")
input_02 = input("두번째 숫자 입력 : ")
tot = int(input_01) + int(input_02)
print("입력 받은 두 수의 합은 %s 입니다" % tot)
입력이 항상 문자열이라고 공부했었습니다. int 함수를 이용해 정수로 변경 후 출력해 보았습니다.
첫번째 숫자 입력 : 5
두번째 숫자 입력 : 7
입력 받은 두 수의 합은 12 입니다
- 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.