In dieser Klasse:Python 2.7: Wie validiere ich eine Liste gegen ein bestimmtes Schema?
sample_node_info = [
'Node Name',
'Node URL',
status,
['Service1','ServiceURL1',status],
['Service2','ServiceURL2',status]
]
Die ersten beiden Elemente Strings sind, und sind erforderlich:
class message:
def __init__(self, node_info = None):
if node_info is None: node_info = []
self.node_info = node_info
@property
def node_info(self):
return self._node_info
@node_info.setter
def node_info(self, value):
self._node_info = value
node_info ein ähnliches Layout wie diese haben sollte. Nachfolgende Elemente sind Listen und optional. Die optionalen Elemente, wenn sollten drei erforderlichen Elemente enthalten enthalten:
service_info = ['ServiceName','ServiceURL',status]
Frage: Wie kann ich bestätigen node_info gegen dieses Format in der obigen Klasse? Muss ich die Liste parsen oder gibt es einen besseren Weg, ein Schema/Format zu definieren?
Also, was haben Sie versucht? – pbuck
Ich habe versucht, etwas Zeit zu sparen und vermeiden, es manuell zu validieren. – Laszlo
Zwei Dinge über den existierenden Code: 1) in '__init__', sollte es' self._node_info = ... 'sein? 2) Sie sollten nicht das veränderbare Standardargument 'node_info = []' verwenden, das wird dieselbe Liste in allen Fällen verwenden, in denen das Standardargument verwendet wird. –