파이썬에서 특정 데이터 입력이 아닐시 반환하는 문을 적었는데, 오류도 안뜨고 맞는 데이터를 입력해도 반환문이 실행됩니다.
if문 코드는 다음과 같습니다.
# ---------------------- 데이터베이스 불러오기
data_dict = {}
with open("./database.txt", "r", encoding='UTF-8') as file:
for line in file:
key, value, data = line.strip().split(',')
data_dict[key] = value
# ---------------------- if 문
if (name in data_dict and book in data_dict) or (name + '-1' in data_dict and book + '-1' in data_dict):
data_key = name if name in data_dict else name + '-1'
data_key2 = book if book in data_dict else book + '-1'
data3 = data_dict[data_key]
dataurl = (f"{data_key}:", data3)
print("--------------------------------")
print(dataurl + "을(를) 인터넷 주소창에 입력하시면 자동 다운로드가 진행됩니다.\n1분뒤, 코드를 자동 종료합니다.")
file.close()
time.sleep(60)
exit()
else:
print("--------------------------------")
print("DB에 등록이 안되어있습니다.\n10초뒤, 코드를 자동 종료합니다.")
file.close()
time.sleep(10)
exit()```
데이터베이스 txt 파일입니다.
```txt
데이터1, 데이터2, 데이터3
데이터1-1, 데이터2-1, 데이터3-1```
오류코드도 안뜹니다. input에 데이터1과 데이터2를 적었는데 else문을 반환합니다.
데이터1-1과 데이터2-1도 마찬가지 입니다.
불러오는 중...