【发布时间】:2011-07-31 11:07:37
【问题描述】:
这个 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("\n\nPress enter key to exit.")
我正在尝试在输入房间号时将日期、课程和阶段作为输出,但出了点问题。当我在
运行脚本时"(s['Date'], s['Room'], s['Course'], s['Stage']) = line.split(";")"
我收到“值错误:需要超过 1 个值才能解压”。我不知道那是什么意思。
【问题讨论】:
-
你不应该在第一次匹配后关闭你的文件,因为你最终会遇到 I/O 错误(
for循环将尝试读取关闭文件的下一行)。另请注意line包含换行符作为最后一个字符,您可能希望line.rstrip()将其关闭。
标签: iso-8859-1