June is Combung
게시판 본문
import os
board_list = []
count = 0 # 전체 게시글 수
page_size = 3 # 한 페이지에 보여줄 게시글 수
cur_page_num = 1 # 현재 페이지 번호
page_count = 1 # 전체 페이지 수
start_row = 0 # 현재 페이지의 게시글 시작번호
end_row = 0 # 현재 페이지의 게시글 마지막번호
title_cnt = 0
log = -1
size = len(board_list)
cur_ge_num = 0 # 현재 게시판 번호
ge_page_cnt = 0 # 전체 게시판 페이지 수
user = [] # 회원정보
contents = [] # 총게시글
front = [] # 수식어 나열
back = [] # 명사 나열
file_name = "board1.txt"
while True:
print("user: ",user)
print("contents",contents)
print("[게시판]")
print("total : ",count)
print("----------------")
for i in range(5):
ge_idx = cur_ge_num*5 + i
print("[%d] %s"%((i+1)%6,board_list[ge_idx][0]))
print("----------------")
if log == -1:
print("[1] 로그인")
print("[2] 회원가입")
print("[3] 다 음")
print("[4] 이 전")
print("[0] 종 료")
sel = int(input("입력: "))
if sel == 1:
user_id = input("아이디: ")
user_pw = input("비밀번호: ")
cnt = 0
for i in range(len(user)):
if user[i][1] == user_id and user[i][2] == user_pw:
print("%s님, 환영합니다."%(user[i][0]))
log = i
cnt = 1
break
if cnt == 0:
print("아이디 혹은 비밀번호 오류입니다.")
elif sel == 2:
name = input("이름: ")
user_id = input("사용할 아이디: ")
cnt = 0
idx = len(user)
user.append(['']*3)
for i in range(idx):
if user[i][1] == user_id:
print("중복입니다.")
cnt = 1
del(user[idx])
break
if cnt == 1:
continue
user_pw = input("사용할 비밀번호: ")
user[idx][0] = name
user[idx][1] = user_id
user[idx][2] = user_pw
print("회원가입 완료.\n%s님, 환영합니다."%(user[idx][0]))
elif sel == 3:
if cur_page_num == page_count:
print("이후 페이지가 존재하지 않습니다.")
continue
cur_page_num += 1
elif sel == 4:
if cur_page_num == 1:
print("이전 페이지가 존재하지 않습니다.")
continue
cur_page_num -= 1
else:
print("종료합니다.")
break
if log != -1:
print("[1] 로그아웃")
print("[2] 글 쓰기")
print("[3] 글 수정")
print("[4] 글 삭제")
print("[5] 내용보기")
print("[0] 종 료")
sel2 = int(input("입력: "))
if sel == 1:
log = -1
print("로그아웃 완료")
elif sel == 2:
board_list.append(['']*2)
title = input("추가할 제목을 입력하세요: ")
board_list[title_cnt][0] = title
content = input("게시글 내용 입력: ")
board_list[title_cnt][1] = content
count += 1
while True:
print("[1] 수식어 해시태그 추가")
print("[2] 명사 해시태그 추가")
print("[3] 해시태그 추가 안 함")
ht = int(input(": "))
if ht == 1:
f = input("입력(뒤로가기는 ba): ")
if f == ba:
continue
front.append(f)
elif ht == 2:
b = input("입력(뒤로가기는 ba): ")
if b == ba:
continue
back.append(b)
else:
break
print(board_list)
title_cnt = len(board_list)
f = open(file_name,"wt")
data = ""
for i in range(len(board_list)):
data += (board_list[i][0] + ":" + board_list[i][1] + "\n")
f.write(data)
f.close()
if os.path.exists(file_name):
f = open(file_name,"rt")
data = f.read()
f.close()
tmp = data.split("\n")
for i in range(len(tmp)-1):
temp = tmp[i].split(":")
board_list[i][0] = temp[0]
board_list[i][1] = temp[1]
print("[data]")
print(board_list)
print("파일 불러오기 성공.")
else:
print("파일이 존재하지 않습니다")
elif sel == 3:
print(board_list)
idx = int(input("수정할 게시글의 인덱스를 입력하세요: "))
content = input("
elif sel == 4:
print(board_list)
idx = int(input("삭제할 게시글의 인덱스를 입력하세요: "))
if idx > cur_page_num*3-1 or idx < cur_page_num-1:
print("현재 페이지에 있는 게시글만 삭제할 수 있습니다.")
continue
del(board_list[title_idx])
count -= 1
print("삭제완료.")
f = open(file_name,"wt")
data = ""
for i in range(len(board_list)):
data += (board_list[i][0] + ":" + board_list[i][1] + "\n")
f.write(data)
f.close()
if os.path.exists(file_name):
f = open(file_name,"rt")
data = f.read()
f.close()
tmp = data.split("\n")
for i in range(len(tmp)-1):
temp = tmp[i].split(":")
board_list[i][0] = temp[0]
board_list[i][1] = temp[1]
print("[data]")
print(board_list)
print("파일 불러오기 성공.")
else:
print("파일이 존재하지 않습니다")
elif sel == 5:
print("total : ",count)
print("[page %d/%d]"%(cur_page_num,page_count))
i = start_row
while i <= end_row:
if i == count:
break
print(board_list[i])
i += 1
else:
print("종료합니다.")
break
'python > 파일' 카테고리의 다른 글
파일 컨트롤러[3단계] : 장바구니 (0) | 2021.03.01 |
---|---|
파일 컨트롤러[2단계] : ATM (0) | 2021.03.01 |
파일 컨트롤러[1단계] : 리스트 (0) | 2021.03.01 |
파일 읽기 : 연습문제 (0) | 2021.03.01 |
파일 쓰기 : 연습문제2 (0) | 2021.03.01 |
Comments