![]() |
1
7
像你一样,有一个生成器的方法是绝对好的。我建议您将所有类都设置为新样式(如果您使用的是python2,则任何一个都可以)
注意使用
|
![]() |
2
12
你可以简化一件事:而不是
|
![]() |
3
1
如果你问我的话,这个设计很好,尽管你使用它的方式并不完全是惯用的。使用catch并可能重新引发异常(使用raise关键字 ,否则会弄乱stacktrace),对于奖励积分,不要catch:but catch Exception:(否则,会catch SystemExit和KeyboardInterrupt)。 或者简单地使用timpietzcker所示的with语句。 |
![]() |
4
0
一般来说,在生成一个解析器对象并试图读取它之后关闭文件是不安全的。考虑以下代码:
如果您没有编写一个长时间运行的守护进程,那么大多数情况下您不会这样做 需要 不过,注意释放资源是一个好习惯,因此我可能会这样编写FileParser类:
然后BatchImporter.parsers就会变成
或者,如果你喜欢函数式编程
旁白:如果您是Python新手,我建议您看看 Python style guide |