텍스트 파일이 생성되고 변경되는 게 신기해서 즐겁게 배울 수 있는 파트였다.😊
import time
def writeDairy(url, file, text):
lt = time.localtime()
timeStr = time.strftime('%Y-%m-%d %I:%M:%S %p', lt)
filePath = url + file
with open(filePath, 'a') as f:
f.write(f'[{timeStr}] {text}\n')
def readDiary(url, file):
filePath = url + file
datas = []
with open(filePath, 'r') as f:
datas = f.readlines()
return datas
import diary
# id, pw 관리하기 위해 dic으로 선언
members = {}
url = "경로"
def printMembers():
for key in members.keys():
print(f'ID: {key} \t PW: {members[key]}')
while True:
inputNum = int(input('1.회원가입 2.일기쓰기 3.일기보기 4.종료 : '))
if inputNum == 1:
id = input('아이디 입력: ')
pw = input('비밀번호 입력: ')
members[id] = pw
printMembers()
elif inputNum == 2:
id = input('아이디 입력: ')
pw = input('비밀번호 입력: ')
if id in members and members[id] == pw:
print('login success')
fileName = 'myDiary_' + id + '.txt'
text = input('한 줄 일기 작성: ')
diary.writeDairy(url, fileName, text)
else:
print('login fail')
printMembers()
elif inputNum == 3:
id = input('아이디 입력: ')
pw = input('비밀번호 입력: ')
if id in members and members[id] == pw:
print('login success')
fileName = 'myDiary_' + id + '.txt'
datas = diary.readDiary(url, fileName)
for data in datas:
print(data, end='')
else:
print('login fail')
printMembers()
elif inputNum == 4:
print('bye')
break
파일_1: 수입 지출 이력 관리
파일_2: 잔액 관리
def getTime():
lt = time.localtime()
timeStr = time.strftime('%Y-%m-%d %H:%M:%S', lt)
return timeStr
url = "경로"
while True:
inputNum = int(input('1.입금 2.출금 3.종료 : '))
if inputNum == 1:
money = int(input('입금액 입력: '))
# 현재 잔고 읽어오기
# 파일을 미리 만들어놓는 이유: 'r' 모드는 파일 없으면 에러 발생
with open(url + 'money.txt', 'r') as f:
curMoney = f.read()
with open(url + 'money.txt', 'w') as f:
f.write(str(int(curMoney) + money))
memo = input('입금 내역 입력: ')
with open(url + 'moneyRegister.txt', 'a') as f:
f.write('--------------------------------\n')
f.write(f'{getTime()}\n')
f.write(f'[입금] {str(money)}원 : {memo}\n')
f.write(f'[잔액] {str(int(curMoney) + money)}원\n')
print('입금 완료')
print(f'기존 잔액: {curMoney}')
print(f'입금 후 잔액: {int(curMoney) + money}')
elif inputNum == 2:
money = int(input('출금액 입력: '))
with open(url + 'money.txt', 'r') as f:
curMoney = f.read()
with open(url + 'money.txt', 'w') as f:
f.write(str(int(curMoney) - money))
memo = input('출금 내역 입력: ')
with open(url + 'moneyRegister.txt', 'a') as f:
f.write('--------------------------------\n')
f.write(f'{getTime()}\n')
f.write(f'[출금] {str(money)}원 : {memo}\n')
f.write(f'[잔액] {str(int(curMoney) - money)}원\n')
print('출금 완료')
print(f'기존 잔액: {curMoney}')
print(f'출금 후 잔액: {int(curMoney) - money}')
elif inputNum == 3:
print('bye')
break
else:
print('다시 입력하세요.')