这是我用Python编写的第一个函数,所以我确定有很多不正确的东西。我试图以作者,标题的格式读取作者的文件名和他们的书名,每行标题为格式词典:
{0: [" The Hitchhiker's Guide To The Galaxy", 'Douglas Adams' ] }
随着每行向下读取键增加。这是我最好的尝试,我无法运行。你有什么建议吗?我只是返回第0个值来检查函数是否正常工作。
def read_books(file_name):
data={}
try:
with open(file_name, "r") as fh:
for line in fh:
try:
(auth, title) = line.split('','')
for i in lines:
data[i]=[title.strip(), auth.strip()]
except:
continue
return data[0]
except:
return -1
print(read_books(books.txt))
答案 0 :(得分:0)
你实际上是在正确的轨道上。您可以使用enumerate()
在迭代文件时获取当前索引/行号。
以下是循环的更新版本:
def read_books(file_name):
data = {}
with open(file_name, "r") as f:
for line_number, line in enumerate(f):
try:
auth, title = line.split(",")
data[line_number] = [title.strip(), auth.strip()]
except ValueError:
continue
return data