/ / Błąd odczytu pliku skryptu Python - iso-8859-1

Błąd skryptu pliku czytającego w języku Python - iso-8859-1

Co jest nie tak z tym skryptem python:

RoomNumber = input("Enter the room number:")

text_file = open("roombookings.txt", "r")
for line in text_file:
(s["Date"], s["Room"], s["Course"], s["Stage"]) = line.split(";")
if RoomNumder == (s["Room"]):
print("Date: " + s["Date"])
print("Room: " + s["Room"])
print("Course: " + s["Course"])
print("Stage: " + s["Stage"])
text_file.close()

input("nnPress enter key to exit.")

Próbuję uzyskać datę, kurs i etap jako wynik przy wpisywaniu numeru pokoju, ale coś jest nie tak. Kiedy uruchamiam skrypt w

"(s [" Data "], s [" Pokój "], s [" Kurs "], s [" Etap "]) = line.split ("; ")"

Dostaję "błąd wartości: potrzebuję więcej niż 1 wartość do rozpakowania". Nie wiem, co to znaczy.

Odpowiedzi:

3 dla odpowiedzi № 1
(s["Date"], s["Room"], s["Course"], s["Stage"]) = line.split(";")

Dostaję "błąd wartości: potrzebuję więcej niż 1 wartość do rozpakowania" Nie wiem co to znaczy.

Oznacza to, że próbuje znaleźć cztery wartości, aby przypisać do czterech klawiszy wymienionych po lewej stronie, ale tablica wyprodukowana przez line.split(";") zawiera tylko jeden. Linia, o której mowa, nie może zawierać średnika; może być pusty.


1 dla odpowiedzi nr 2

The rozpakować powiązany błąd jest dość powszechny w pythonie i mówi, że niemożliwe było wykonanie wszystkich żądanych zadań, tj.

a,      = 1, 2  # ValueError: "too many values to unpack"
a, b, c = 1,    # ValueError: "need more than 1 value to unpack"
a, b, c = 1, 2  # ValueError: "need more than 2 values to unpack"

Jak powiedział Jeremy Banks, wygląda jak jeden z twoichlinie nie zawierają średnika (więc nie wykonano żadnych podziałów, a ty masz tylko jedną wartość po prawej stronie przypisania). Potrzebujesz sprawdzenia poprawności danych wejściowych.