Я пытаюсь облегчить мою работу и записываю ошибки и решения для тех же самых ошибок. Сама программа работает нормально, когда речь идет о добавлении новых ошибок, но затем я добавил функцию, чтобы проверить, существует ли ошибка в файле, а затем что-то с ней сделал (еще не добавлено).
Функция не работает, и я не знаю почему. Я попытался отладить его, но все еще не смог найти ошибку, может быть, концептуальная ошибка?
В любом случае, вот весь мой код.
import sys
import os
err = {}
PATH = 'C:/users/userdefault/desktop/errordb.txt'
#def open_file(): #Not yet used
#file_read = open(PATH, 'r')
#return file_read
def verify_error(error_number, loglist): #Verify if error exists in file
for error in loglist:
if error_number in loglist:
return True
def dict_error(error_number, solution): #Puts input errors in dict
err = {error_number: solution}
return err
def verify_file(): #Verify if file exists. Return True if it does
archive = os.path.isfile(PATH)
return archive
def new_error():
file = open(PATH, 'r') #Opens file in read mode
loglist = file.readlines()
file.close()
found = False
error_number = input("Error number: ")
if verify_error(error_number, loglist) == True:
found = True
# Add new solution, or another solution.
pass
solution = str(input("Solution: "))
file = open(PATH, 'a')
error = dict_error(error_number, solution)
#Writes dict on file
file.write(str(error))
file.write("\n")
file.close()
def main():
verify = verify_file() #Verify if file exists
if verify == True:
new = str.lower(input("New job Y/N: "))
if new == 'n':
sys.exit()
while new == 'y':
new_error()
new = str.lower(input("New job Y/N: "))
else:
sys.exit()
else:
file = open(PATH, "x")
file.close()
main()
main()
Чтобы уточнить, программа работает нормально, она не возвращает код ошибки. Он просто не будет работать так, как я задумал, я имею в виду, он должен проверять, существует ли уже определенный номер ошибки.
Заранее спасибо:)