我有一个用Python编写的程序,它执行以下操作:
用户输入文件夹的名称.在该文件夹中有8-15个.dat文件,具有不同的扩展名.
程序打开这些dat文件,将它们输入到SQL数据库中,然后允许用户选择对数据库所做的不同更改.然后将数据库导出回.dat文件.可以执行大约5-10种不同的操作.
我计划设计的方法是为每组文件创建一个标准类.用户将输入文件夹的名称,并且将创建具有某些属性(文件名,文件字典,文件版本(有不同版本)等)的对象.确定这些属性需要打开其中一些文件,读取文件名等.
这个行动应该在__init__方法中进行吗?或者,是否应该在方法中调用的不同实例方法中执行此操作__init__?或者这些方法应该在其他地方,只有在程序中的其他地方需要属性时才能调用它们?
我已经用Java编写了这个程序.我有一个构造函数,它调用类中的其他方法来设置对象的属性.但我想知道Python中的标准做法是什么.
我正在研究 Python并发.futures 模块并使用它来更加熟悉并行/并发编程模型。不幸的是,由于它是一个相对较新的模块,我找不到大量面向初学者的文献。
我知道 map() 返回通过进程或线程在可迭代对象上调用的函数的直接返回值。Submit() 返回一个 futures 对象。
我想更多地解释为什么人们会选择使用其中之一。看起来 map() 更适合不需要协调的明显并行任务。对于复杂的并发用例,submit() 可能更有用。不过,我对此还很陌生,希望有更多知识渊博的人可以扩展。
谢谢。