我编写了一个 Python 脚本,用于以几种不同的方式合并许多数据文件。这是我的第一个 Python 脚本,也是我第一次尝试 OOP,我怀疑我一直在以一种功能性但不是最佳的方式来考虑对象和类。
我为源文件创建了一个类,并为源文件中的记录行创建了一个子类。现在,随着我对 Python 中的一切都是对象的新理解,我怀疑我通过为文件创建一个类来创建不必要的复杂性,而内置类型不仅存在,而且我每次都在使用它我打开一个文件。
不幸的是,从文档中我不清楚如何将新属性、方法和子类分配给文件的内置类型。我也不明白文件数据类型与类有何不同;我只是将两者都理解为用于创建具有特定属性的对象的“工厂”。
class SrcFile:
self.name = which
self.terminals = set([])
def <a few methods>():
with open(self.name) as file:
<do some stuff and return something>
class Record(SrcFile):
<methods>
for file in files:
file = SrcFile(file)
if <conditions on values from SrcFile methods>:
with open(file) as file:
for line in file:
if <regexp match>:
record = Record(line)
<apply Record() methods>
<write to tempfiles>
<merge tempfiles to stdout>