<p>基本上,输入文件的每一行都表示一个属性的值。您可以通过读取分组中的行,然后将这些行传递到<code>Contact</code>类构造函数中,从而在代码中对其进行镜像。你知道吗</p>
<p>我的意思是:</p>
<pre><code>class Contact:
fields = 'surname', 'name', 'number', 'address'
def __init__(self, surname, name, number, address):
self.surname = surname
self.name = name
self.number = number
self.address = address
def __repr__(self):
return '{}({})'.format(self.__class__.__name__,
', '.join(getattr(self, field)
for field in self.fields))
filename = 'class_data.txt'
contacts = []
with open(filename) as file:
try:
while True:
fields = [next(file).strip() for _ in range(len(Contact.fields))] # Read group.
contacts.append(Contact(*fields))
except StopIteration: # end-of-file
pass
from pprint import pprint
pprint(contacts)
</code></pre>
<p>输出:</p>
<pre class="lang-none prettyprint-override"><code>[Contact(surname1, name1, number1, address1),
Contact(surname2, name2, number2, address2),
Contact(surname3, name3, number3, address3)]
</code></pre>