Python FileNotFound

Ich bin ziemlich neu in Python.

Ich versuche, ein Skript zu erstellen, das Sudoku-Lösungen und Abschreckung liest, ob sie korrekt sind oder nicht.

Dinge, die ich brauche:

1] Fordern Sie den Benutzer auf, eine Datei / einen Dateipfad mit den Sudoku-Nummern einzugeben. Es ist eine TXT-Datei mit 9 Zeilen und Spalten. Besteht nur aus Zahlen.

2] Haben Sie eine Art Fehlerbehandlung.

3] Wenn das Sudoku dann gültig ist, sollte ich eine neue Textdatei erstellen, die dasselbe Format wie die ursprüngliche Eingabedatei mit dem Präfix "Correct_" verwendet.

Ich habe das Programm noch nicht vollständig beendet, erhalte jedoch diesen Fehler, wenn ich einen falschen Pfad oder Dateinamen eingebe.

 Hello to Sudoku valitator,

 Please type in the path to your file and press 'Enter': example.txt #This is a non existing file, to test the Error Exception
    'Traceback (most recent call last):
  File "C:/Users/FEDROS/Desktop/bs.py", line 9, in <module>
    sudoku = open(prompt, 'r').readlines()
FileNotFoundError: [Errno 2] No such file or directory: 'example.txt'

Hier ist mein Drehbuch:

while True:
    try:
        prompt = input("\n Hello to Sudoku valitator,"
    "\n \n Please type in the path to your file and press 'Enter': ")
        break
    except (FileNotFoundError, IOError):
        print("Wrong file or file path")

sudoku = open(prompt, 'r').readlines()

def check(game):
    n = len(game)
    if n < (1):
        return False

    for i in range(0, n):
        horizontal = []
        vertical = []
        for k in range(0, n):

            if game[k][i] in vertical:
                return ("File checked for errors. Your options are wrong!")
            vertical.append(game[k][i])

            if game[i][k] in horizontal:
                return ("File checked for errors. Your options are wrong!")
            horizontal.append(game[i][k])
    return ("File checked for errors. Your options are correct!")

print (check(sudoku))

Vielen Dank, jeder Rat oder jede Hilfe wird geschätzt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage