我是Python的新手,想要读取一个YAML文件并基于其内容创建Python对象。我正在使用ruamel-yaml库。
在我的情况下,我可能有Python类Message、Signal和Signalgroup等(请参见示例文件)。
我的方法是读取YAML文件,检查每行是否包含给定的关键字,并创建相关的对象并填充数据。我认为这是“老派”的方法,也许有更有效的方法来处理文件。
也许可以使用函数register_class/ rep.创建标签“from_yaml”,但由于键已经被索引,这种方法行不通。
有没有更专业的方法?
在我的情况下,我可能有Python类Message、Signal和Signalgroup等(请参见示例文件)。
我的方法是读取YAML文件,检查每行是否包含给定的关键字,并创建相关的对象并填充数据。我认为这是“老派”的方法,也许有更有效的方法来处理文件。
也许可以使用函数register_class/ rep.创建标签“from_yaml”,但由于键已经被索引,这种方法行不通。
Message1:
Message2:
Message3:
有没有更专业的方法?
# Yaml Testfile
- ModuleName: myTestModule
- Version: 1.0
- ModuleNumbers: [96,97,98,99]
- Message1:
Name: AO3_
DLC: 8
Signal1:
Name: Temperature
Length: 16
Signal2:
Name: AnalogOut3
Length: 16
SignalGroup1: #Comment
Name: app_fcex
Type: Bitfield
Signal1:
Name: drive_ready
Length: 1
Signal2:
Name: error_active
Length: 1
Signal3:
Name: warning_active
Length: 1
Signal3:
Name: Temperatur 2
Length: 8
ValueTable:
Name: TempStates
Item0:
Name: INIT
Value: 1
Item1:
Name: RUN
Value: 2
Item2:
Name: DONE
Value: 3
Item3:
Name: ERROR
Value: 4
- Message2:
name: AO2_
object: RX2
DLC: 8
from_yaml
不能工作,“因为键是索引”这并不太合理。 - Anthon