Python/2.7 for fun.

가계부 프로그램 만들기. 1차완성.

qkqhxla1 2016. 12. 25. 14:33

일단 기본적인 기능은 하게 완성시켰다. 처음에 만들땐 가게부? 엄청 쉬울거같은데 심심풀이로 만들어볼까? 했던 생각이... 변했다. 상당히 복잡하다. 어렵지는 않은데 복잡하다. 필요한건 그냥 gui에서 입력값을 가져와서 폴더에 보기좋게 정리하는거밖에 없다. 근데 폴더 구조를 생각하고 그러니 진짜 복잡해진다.


폴더 구조. 

1. 파이썬 소스파일과 같은 폴더 안에 '가계부' 라는 이름의 폴더가 생김.

2. '가계부' 폴더 안에 이번달 날짜 폴더가 생김. 오늘은 16년 12월 25일이니까 2016-12라는 폴더를 만듬. 동일한 위치에 affordable_money.txt가 있는데 이 안에는 한달동안 자유롭게 쓸수 있는 돈이 숫자로 들어가있다.

3. 2016-12와 같은 폴더 안에는 3종류의 txt파일이 있다. 

1) '한달 총 사용량.txt'. 이 안에는 2016년 12월 한달동안 총 사용한 돈의 양이 숫자로 들어있다.

2) '12월 19~25일.txt'과 같은 포맷의 파일. 말 그대로 이번주에 사용한 돈의 총량이 숫자로 들어있다. 자동으로 만들어지고 자동으로 갱신되니까 건들지 말기..

3) '2016-12-25.txt'과 같은 포맷의 파일. 말 그대로 해당 날짜에 돈을 얼마 썼고, 왜 썼는지가 적혀져 있다. 맨 아래에는 해당 날짜에 사용한 돈의 총량이 들어있다.


사용법과 폴더 보는법 등.

가계부.vol1.egg

가계부.vol2.egg

나름 직관적으로 보기좋게 만들려고 노력을 많이 했다. 

프로그램을 실행시키고 위처럼 입력 후 '지출내역 추가' 버튼을 누르면

이번주 남은돈과 이번달 남은돈에서 차감된다.


해당 파이썬 소스와 같은 디렉터리 안에 '가계부'라는 폴더가 자동으로 생기는데 그 안에는

요렇게 해당 달의 폴더가 자동으로 생기고 affordable_money.txt가 자동으로 생긴다. 이 안에는 매달 여윳돈이 txt로 들어가있고 디폴트값은 100만원이다. (위에 써있음) 그리고 또 2016-12 폴더 안에는...

처럼 들어가 있고 프로그램으로 내역을 추가할때마다 자동으로 내역이 txt에 추가된다. 

한달 총 사용량은 말 그대로 한달에 총 사용한 돈의 양이고, 12월 19~25일.txt는 저 기간동안 사용한 돈의 총량이다.


참고로 예외처리는 할수있는만큼 거의다해놓긴 했는데 txt를 마음대로 만져서 포맷이 깨지면 또 고장날 우려가 있다...



개선해야될점.

1. 저번주에 안쓴 돈 만큼을 데이터가 이월되듯이 이번주로 넘어오게 하기.

2. 지출 내역 삭제하기를 gui에 구현하기.

3. 코드가 상당히 더럽다. 깔끔하게 리팩토링 등 하기.

4. 날짜입력하기 귀찮으니 디폴트값으로 오늘 날짜 주기

5. 공통되는 변수나 함수는(ex) see_money함수) new_ui.py에 넣어서 자동으로 사용되게 하려고했는데 이걸 py2exe로 exe로 만들기만 하면 안된다. 이유를 모르겠어서 그냥 복붙 한번 더함. 코드가 더러워졌는데 나중에 좀 줄여야될듯

6. 생각....


1. 개선된 new_ui.py (상당히 길다.)

2. 개선된 메인함수 부분.

setup.py