Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: "Michael S." Newsgroups: de.comp.lang.python Subject: Konstanten in Struct-Form in Python Date: Fri, 19 Feb 2021 15:27:17 +0100 Lines: 36 Message-ID: Reply-To: michael_news2016@gmx.de Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net VaRdrlObXnOp2RnH3WhFlglaDM6CR5L2Kr55nspaTy6qmCda2V Cancel-Lock: sha1:Og58e7Ap6nybAx6ugSw22KpitI0= X-Mozilla-News-Host: news://130.133.1.4:119 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 Content-Language: de-DE Xref: csiph.com de.comp.lang.python:5717 Hallo Leute, Ich möchte ein Python Toolset schreiben, mit dem ich sehr einfach auf Signale in CAN-Botschaften zugreifen kann, die als CAN-Trace vorliegen. Das parsen des Traces läuft. Nun möchte ich aber die ganzen Infos zu den CAN-Signalen in einem "Include"-File möglichst einfach zugänglich machen. Daran scheitere ich. Tatsächlich gibt es zu jeder CAN-Botschaft mehrere Eigenschaften. Ich hatte das erstmal so codiert: class CAN_AC_Voltage: def __init__(self): self.ID = 16FC8B11 self.BitOffset = 48 self.BitLength = 8 self.Gain = 1 self.ValueOffset = 0 self.Unit = "V" self.Rate = 0.5 Dann könnte ich so zugreifen: CAN_ACV = CAN_AC_Voltage() ID = CAN_ACV.ID Unit = CAN_ACV.Unit Was mich dran nervt ist, dass jede einzelne CAN-Botschaft eine eigene Klasse ist und ich die im Code erstmal instanzieren muss, bevor ich sie nutzen kann. Das muss doch auch einfacher gehen. Ideen? -- Michael