Python: Erstellen einer Liste aus einer Datei

So versuche ich, eine Funktion zu erstellen, die eine Textdatei öffnet, diese Zeile für Zeile liest und dann die Daten daraus entnimmt, um eine Liste zu erstellen.

def file_open():
    filename = str(input("enter file name for perk.py to sort through"))
    fob = open(str(filename), 'r')
    theList = []
    for line in fob:
        if not line:
            break
        x = fob.readline()
        x = int(x)
        theList.append(x)
    print("List =", theList)
    return theList

Hier ist die Textdatei, aus der ich Daten ziehe:

9
7
1
3
2
5
4

Meine erwartete Ausgabe sollte lauten:

List =[9,7,1,3,2,5,4]

Wenn ich diese Funktion ausführe, wird jedoch die folgende Fehlermeldung angezeigt:

Traceback (most recent call last):
File "H:/CSCI-141/Week 7 Work/perk.py", line 47, in <module>
  main()
File "H:/CSCI-141/Week 7 Work/perk.py", line 44, in main
  perk_sort(file_open())
File "H:/CSCI-141/Week 7 Work/perk.py", line 17, in file_open
  x = int(x)
ValueError: invalid literal for int() with base 10: ''

Ich würde mich sehr freuen, wenn mir jemand sagen könnte, warum ich diesen Fehler erhalte und wie ich meinen Code reparieren kann. Danke!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage