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] = -asys.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