我正在使用python的quickfix。查看文档页面here告诉我们如何获取字段。假设来自交易对手的message = fix.message
(带quickfix as fix
)。我可以通过调用
message.getHeader().getField(fix.MsgType())
返回,例如35=X
。
我的问题是:是否有任何方法只返回X
?或者我是否必须切片所有(例如35=X[3:]
,它返回X
)并知道所有字符串的长度?
答案 0 :(得分:2)
答案是先拨打message.getHeader().getField(fix.MsgType())
来获取字段
然后通过调用fix.MsgType().getValue()
获取值。
答案 1 :(得分:0)
如果您使用强类型方法,则为是,即:
m.getHeader().getField(new MsgType());
答案 2 :(得分:0)
我使用了一点功能
def get_field_value(self, fobj, msg):
if msg.isSetField(fobj.getField()):
msg.getField(fobj)
return fobj.getValue()
else:
return None
我称之为
clordid = get_field_value(fix.ClOrdID(), message)
标题字段的看起来像这样
def get_header_field_value(self, fobj, msg):
if msg.getHeader().isSetField(fobj.getField()):
msg.getHeader().getField(fobj)
return fobj.getValue()
else:
return None