List
- 파이썬 프로그램
- gugudan
- 3과 5의배수 합하기
- 게시판 페이징
- 간단한 메모장 생성
- 탭을 4개의 공백으로 바꾸기
- 하위 디렉터리 검색하기
- 파이보
- 코딩도장
need to consider
- 필요한 기능은?
- 메모 추가하기, 메모 조회하기
- 입력 받는 값은?
- 메모 내용, 프로그램 실행 옵션
- 출력하는 값은?
- memo.txt
sys.argv
를 가지고 모듈을 작성한다.
sys.argv
는 프로그램을 실행할 때 입력된 값을 읽어 들일 수 있는 파이썬 라이브러리
sys.argv[0]
= 파일의 이름
sys.argv[1]
= 파일 실행 옵션
을 나타내게 할것sys.argv[2]
= 추가할 메모 내용
을 나타내게 할것# memo.py
import sys
option = sys.argv[1]
memo = sys.argv[2]
print(option)
명령어(메모) 실행을 위해
Terminal
로 진행
Mac
에서Terminal
실행하기
- 와이파이 옆 돋보기(
Spotlight
) 클릭->Terminal
검색 ->enter
하면 켜짐
python memo.py -a "Life is too short"
sys.argv[indexnum]
는 공백으로 index를 나눈다.sys.argv[0]
= memo.py
sys.argv[1]
= -a
sys.argv[2]
= "Life is too short"
pythonprac
이며, memo.py
는 pythonprac
안에 있어야 진행이 가능하다. shinisgood@seunghoui-MacBookAir pythonprac % pwd # pwd를 통해 현재 디렉토리 확인해보자
/Users/shinisgood/Desktop/pythonprac # 현재 디렉토리 pythonprac 확인했당
shinisgood@seunghoui-MacBookAir pythonprac % python memo.py -a "Life is too short"
-a # sys.argv[1]이며 option 부분이다
Life is too short # sys.argv[0]이며 memo 부분이다
pythonprac
이며, memo.py
는 pythonprac
안에 있어야 진행이 가능하다. module
이 잘 작동되는걸 확인했으니, 입력으로 받은 메모를 파일에 추가 저장할 수 있또록 module
을 수정해서 ~.txt
파일로 저장하자 ! # memo.py
import sys
option = sys.argv[1]
if option == '-a': # 옵션이 -a인 경우에만
memo = sys.argv[2] # memo값을 읽고
f = open("memo.txt",'a') # 그 값을 memo.txt 파일에 저장시킨다. 읽기모드 a를 사용하였기 때문에 추가로 계속 저장된다.
f.write(memo)
f.write('\n') # 추가되는 문장은 다음서줄에 저장시키기위해 줄바꿈도 추가완료
f.close()
module
을 수정한 후 Terminal
로 다시 명령어(메모)를 수행해라shinisgood@seunghoui-MacBookAir pythonprac % python memo.py -a "life is too short"
shinisgood@seunghoui-MacBookAir pythonprac % python memo.py -a "you need python"
pythonprac
디렉터리 안에 memo.txt
파일이 생긴 것을 확인 할 수 있고,life is too short
you need python
sys.argv[1]
이였던 option
을 바꿔주어 저장과 출력을 구별 하게 만들자.
-a
입력 시 저장-v
입력 시 출력기존 module
에 -v
를 추가해 보자.
# c:/doit/memo.py
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()
elif option == '-v': # -v가 들어왔을 때
f = open('memo.txt', 'r') # memo.txt 를 읽는다.
memo = f.read() # 여기선 f.readlin()하지말고 f.read()써라..안먹는다..
f.close() # 먼저 닫고
print(memo) # 출력 까지하자
python memo.py -v
입력 시, 아래와 같이 memo.txt
내용을 다 출력 한다. shinisgood@seunghoui-MacBookAir pythonprac % python memo.py -v
life is too short
you need python