编程语言
首页 > 编程语言> > c – 通过SWIG从Python访问UtcTimeStamp

c – 通过SWIG从Python访问UtcTimeStamp

作者:互联网

我猜这是一个python vs SWIG问题比什么都重要…

我正在使用带有SWIG Python绑定的C包.
我收到的一个对象是UTC时间戳,我正试图从中提取时间戳.

该对象具有以下特征:

>>> print type(obj)
<type 'SwigPyObject'>

>>> print dir(obj)
['__class__', '__cmp__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__hex__', '__init__', '__int__', '__le__', '__long__', '__lt__', '__ne__', '__new__', '__oct__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'acquire', 'append', 'disown', 'next', 'own']

>>> print obj
<Swig Object of type 'UtcTimeStamp *' at 0x0379F320>

如何从中提取数据?

更新:
我发现UTCTimeStamp类是从DateTime结构派生的 – 它是开源QuickFix包的一部分.

但是我仍然不知道如何访问数据. DateTime具有简单的getter函数,例如getYear() – 但是,如何访问它们?

解决方法:

不要在时间字段上使用qfTimeField.getValue(),而是使用qfTimeField.getString(),然后只使用strptime()生成的字符串.例如:

qfSendingTime = fix.SendingTime()
message.getHeader().getField(qfSendingTime)
my_datetime = datetime.strptime(qfSendingTime.getString(), '%Y%m%d-%H:%M:%S.%f')

标签:python,c-2,timestamp,swig,quickfix
来源: https://codeday.me/bug/20190521/1148009.html