Python-can 记录文件时间



我刚开始使用Python-can,我需要编辑内置日志记录功能的报告格式。下面是我所指的代码片段。

logger = can.Logger('log3.asc')

这是日志文件中生成的标头:

date Mon Jun 06 04:56:40.184122 PM 2020
base hex  timestamps absolute
internal events logged
Begin Triggerblock Wed Dec 12 10:17:48.038 PM 1969
0.000000 Start of measurement
0.000000 1  300             Rx   d 6 00 00 14 CF BE FF

问题出在第一行,我不能以微秒为单位报告时间,毫秒是我能走的最远。无论如何可以在python-can中编辑该值吗?或者这是否需要额外的代码来手动进入日志文件并条带化这些值?

谢谢你的时间,

我认为您无法更改它。在python-can的源代码中,它使用%f生成微秒,并且没有常量变量用于重新定义。

class ASCWriter(BaseIOHandler, Listener):
...
def __init__(self, file, channel=1):
...
# write start of file header
now = datetime.now().strftime("%a %b %m %I:%M:%S.%f %p %Y")
self.file.write("date %sn" % now)
self.file.write("base hex  timestamps absoluten")
self.file.write("internal events loggedn")
...

如果您尝试在 datetime.strftime 中更改 %f 的格式,同样的情况,它将数字设置为"%06d",也没有用于编辑的常量变量。

def _wrap_strftime(object, format, timetuple):
...
if ch == 'f':
if freplace is None:
freplace = '%06d' % getattr(object,
'microsecond', 0)
...

我认为唯一的方法是更改py-can或datetime的源代码,但不建议这样做!

相关内容

  • 没有找到相关文章

最新更新