Python #29 l 파이썬 프로그래밍_간단한 메모장 생성

신승호·2021년 3월 30일
0

Python

목록 보기
30/35
post-custom-banner

List

  • 파이썬 프로그램
    • gugudan
    • 3과 5의배수 합하기
    • 게시판 페이징
    • 간단한 메모장 생성
    • 탭을 4개의 공백으로 바꾸기
    • 하위 디렉터리 검색하기
    • 파이보
    • 코딩도장

파이썬 프로그래밍_간단한 메모장 생성


메모장 만들기

need to consider

  • 필요한 기능은?
    • 메모 추가하기, 메모 조회하기
  • 입력 받는 값은?
    • 메모 내용, 프로그램 실행 옵션
  • 출력하는 값은?
    • memo.txt

1. 스크립트를 출력하기 위한 모듈 작성

  • 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)

2. 명령어(메모) 실행

명령어(메모) 실행을 위해 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.pypythonprac 안에 있어야 진행이 가능하다.
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.pypythonprac 안에 있어야 진행이 가능하다.

3. 입력할 메모를 text파일로 저장해보자

  • 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

4. 저장된 명령어(메모)를 출력해 보자

  • 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
profile
신승홉니다
post-custom-banner

0개의 댓글