我刚刚开始使用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中编辑这个值?或者,这是否需要额外的代码来手动进入日志文件并对这些值进行条带化?
感谢你抽出时间
发布于 2020-06-16 10:45:45
我想你不能改变它。在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的源代码,但不建议这样做!
https://stackoverflow.com/questions/62399306
复制相似问题