这是您正在寻找的 Python 类。这很简单,所以如果你是你所说的菜鸟并且你想学习:阅读并理解代码。
底部给出了一些示例行以显示功能。对于多个机架,只需创建一个 Rack() 列表。祝你好运。
class Rack():
def __init__(self, name):
self.name = name
self.modules = dict()
# port_cable_list should be in the form:
# [(1, #1992), (2, #1993), (3, #1567)]
def add_module(self, name, port_cable_list):
self.modules[name] = dict()
for port, cable in port_cable_list:
self.modules[name][port] = cable
def remove_module(self, name):
if name in self.modules:
del self.modules[name]
def add_port(self, module_name, port, cable):
if module_name not in self.modules:
self.modules[module_name][port] = cable
return True
return False
def remove_port(self, module_name, port):
if module_name in self.modules:
if port in self.modules[module_name]:
del self.modules[module_name][port]
return True
else:
return False
return False
def module_exists(self, module_name):
return module_name in self.modules
def port_exists_in_module(self, module_name, port):
if self.modules[module_name]:
return port in self.modules[module_name]
return False
def print_module(self, module_name):
if self.module_exists(module_name):
print "%s\nPort\tCable" % (module_name)
for port, cable in self.modules[module_name].items():
print port, "\t", cable
print
return True
return False
def print_rack(self):
print self.name + ':'
for module_name in self.modules.keys():
self.print_module(module_name)
SomeRack = Rack('04/02')
SomeRack.add_module("MM02", [(1, '#1992'), (2, '#1993'), (3, '#1567')])
SomeRack.add_module("MM03", [(1, '#1234')])
SomeRack.print_module("MM03")
SomeRack.print_rack()
SomeRack.remove_module("MM03")
print SomeRack.module_exists("MM03")
SomeRack.print_rack()