간단한 메모장 만들기 연습이다.
https://wikidocs.net/36 에 나와있고, 여기서 말하능 기능은 다음과 같다.
옵션 -a는 추가 , 옵션 -v는 파일을 보여 주는 옵션이다.
(+ 거기에 추가로) 작업하려는 메모파일이름도 사용자로 부터 입력받아서 처리하도록 구현해보자.
아래는 실행 화면이다.
# python memo.py test.txt -a
Enter note : hello world^^
Added !!
# python memo.py test.txt -v
Wed Oct 15 14:49:28 2014: hello world^^
main 함수에서는 sys.argv에 대한 validation 체크를
howto함수에서는 안내에 대한 처리를
fileRead는 파일을 read 하는 기능을
fileWrite는 파일을 write 하는 기능으로 나누었다.
[root@master python]# cat memo.py
import sys, os, time
def howto():
print("""
Usage
=====
python %s %s -v : option -v is View-memo
python %s %s -a : option -a is Add-memo
""")
def fileRead(filename):
try:
print open(filename).read()
except:
print filename, " does not exist!"
def fileWrite(filename):
try:
word = raw_input("Enter note : ")
f = open(filename, 'a+')
f.write(time.ctime() + ': '+ word + '\n')
f.close()
return True
except:
return False
def main():
if len(sys.argv) != 3:
howto()
return
filename = sys.argv[1]
if sys.argv[2] == '-v':
fileRead(filename)
elif sys.argv[2] == '-a':
if fileWrite(filename):
print "Added !!"
else:
print "Error !!"
main()
'파이썬' 카테고리의 다른 글
XML문서 파싱하고, 검색하는 방법에 대해 알아보자. (0) | 2015.11.10 |
---|---|
XML을 처리 하는 파이썬 라이브러리중 ElementTree에 대해 알아보자.( xml 생성) (0) | 2015.11.10 |
파이썬 Queue - a aynchronized queue class (0) | 2015.11.10 |
파이썬에서의 쓰레드 (0) | 2015.11.10 |
인수 전달(sys.argv) , 스크립트 강제 종료 (sys.exit()) (0) | 2015.11.10 |