이 글은 도서 '점프 투 파이썬' 연습문제를 토대로 작성하였습니다.
python memo.py -a "Life is too short"
이 명령을 실행했을 때 메모를 추가할 수 있도록 만들어 보자.
memo.py는 파이썬 프로그램 이름이다.-a는 이 프로그램의 실행 옵션이다."Life is too short" 는 추가할 내용이다.우선 작업 환경을 살펴보자. 터미널에서 현재 디렉토리에서 작업을 실행해야한다.
터미널에서 % pwd 를 입력하면 현재 디렉토리 위치를 확인할 수 있다.
% pwd /Users/ssaboo/Desktop/project/pythonWorkspace
현재 디렉토리를 확인하였고 pythonWorkspace 라는 디렉토리 안에 memo.py 파일이 생성되어 있어야 진행할 수 있다.
import sys
option = sys.argv[1]
memo = sys.argv[2]
print(option)
print(memo)
sys.argv : 입력된 값을 읽어 들일 수 있는 파이썬 라이브러리이다.sys.argv[0] : 파이썬 프로그램 이름 (ex. memo.py)sys.argv[1] : 프로그램 실행 옵션 값sys.argv[2] : 메모 내용% python memo.py -a "Life is too short" -a Life is too short
입력으로 전달한 옵션과 메모 내용이 그대로 출려되는 것을 확인할 수 있다.
import sys
option = sys.argv[1]
if option == '-a'
memo = sys.argv[2]
f = open('memo.txt', 'a')
f.write(memo)
f.write('\n')
f.close()
옵션이 -a 인 경우에만 memo값을 읽어 memo.txt파일에 그 값을 쓰도록 코드를 작성했다. 메모는 항상 새로운 내용이 추가되는 것이 아니라 한 줄씩 추가되어야 하므로 파일 열기 모드를 a로 했다. 그리고 메모를 추가할 때마다 다음 줄에 저장되도록 줄바꿈 문제 \n 도 추가하였다.
import sys
option = sys.argv[1]
if open == '-a'
memo = sys.argv[2]
f = open('memo.txt', 'a')
f.write(memo)
f.write('\n')
f.close()
elif option == '-v'
f = open('memo.txt')
memo = f.read()
f.close()
print(memo)
옵션으로 -v 가 입력된 경우 memo.txt 파일을 읽어서 출력한다.
% python memo.py -v Life is too short You need python
입력한 메모가 그대로 출력되는 것을 볼 수 있다.