Ich habe ein benanntes Tupel-Objekt mit 63 verschiedenen Elementen definiert. Ich benutze die _make-Funktion. Ich denke, dass dieser Ansatz funktioniert, aber 4x63 mehr Zeilen für den Versuch außer den Aussagen benötigt. Es muss einen besseren Weg geben:Einfachere Möglichkeit, riesige Listen zum Erstellen benannter Tupel mit Standardwerten zu schreiben
AssetRow = collections.namedtuple('AssetRow', [
"status",
"computer_name",
.
.
.
61 more
def create_asset_row(Object):
try:
Object.status
except
Object.status = ""
try:
Object.computer_name
except
Object.computer_name= ""
values = [
Object.status,
Object.computer_name,
.
.
.
61 more
]
row = AssetRow._make(values)
im Grunde möchte ich den Namen Tupel, um sicherzustellen, ist auf „“, wenn ich darin keinen Wert haben zu setzen .... aber ich weiß nicht möchte 500 Zeilen schreiben, um es zu tun ... Ich möchte über 67 Zeilen schreiben
Ich würde vorschlagen, das Standardargument 'getattr' zu verwenden: 'getattr (Object, name," ")'. Ersetzen Sie '' '' bei Bedarf mit einem 'name' spezifischen Standard. Da dies näher am OP-Code ist. –
Danke, das hatte ich auch gedacht, aber vergessen, es rein zu lassen – bphi