【发布时间】:2017-10-03 04:09:51
【问题描述】:
这是我用 Python 编写的第一个函数,所以我敢肯定有很多不正确的地方。我正在尝试以 Author,Title 格式将作者的文件名及其书名读入格式字典:
{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))
【问题讨论】:
-
您的代码缩进严重(至少在 SO 上),因此在当前状态下,帮助您将非常困难。
-
您能解释一下如何更好吗?
-
您不应该使用像这样的纯
except子句,因为它们会捕获所有 异常,即使是您可能需要查看的异常,例如SyntaxError。改为具体——或者至少在调试时将其排除在外。
标签: python dictionary io