1
這裏是代碼,它應該從文件中讀取,然後產生一個字典...類型錯誤:遍歷所有非序列...在python
def get_songs(setlists):
f = file(setlists)
d = {}
next_line = f.readline()
while (next_line != ""):
if next_line[0].isdigit():
concert1 = concert(int(next_line.split("-")[0]) , int(next_line.split("-")[1]) , \
int(next_line.split("-")[2]) , next_line.split("-")[3].strip("\n"))
for i in f.readline().split('/'):
d[i.strip(" ").strip("\n").split("(")[0]] = (concert1 if not d.has_key(i.strip(" ").strip("\n").split("(")[0])
else ([d[i.strip(" ").strip("\n").split("(")[0]] , concert1] if
isinstance(d[i.strip(" ").strip("\n").split("(")[0]] , concert)
else d[i.strip(" ").strip("\n").split("(")[0]] + [concert1]))
next_line = f.readline()
return d
請出示完整的錯誤消息。 – BrenBarn 2013-04-07 00:14:42
你應該至少重寫你的程序,以避免多次執行相同的事情,即:'next_line.split(「 - 」)'可以完成一次並分配給變量 – soulcheck 2013-04-07 00:31:04
這段代碼充滿了東西,看起來不對,你應該使用'open()'不是'file()',並且在文件中使用'for'循環而不是'file.readline()'和'with'。 – 2013-04-07 00:43:16