Python-can 记录文件时间
Python-can Logging File Time
我刚开始使用 Python-can,我需要编辑内置日志记录功能的报告格式。下面是我所指的代码片段。
logger = can.Logger('log3.asc')
这是来自日志文件的 header 结果:
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 %s\n" % now)
self.file.write("base hex timestamps absolute\n")
self.file.write("internal events logged\n")
...
如果您尝试更改 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的源码,但是不建议!!
我刚开始使用 Python-can,我需要编辑内置日志记录功能的报告格式。下面是我所指的代码片段。
logger = can.Logger('log3.asc')
这是来自日志文件的 header 结果:
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 %s\n" % now)
self.file.write("base hex timestamps absolute\n")
self.file.write("internal events logged\n")
...
如果您尝试更改 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的源码,但是不建议!!