首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python-can记录文件时间

Python-can记录文件时间
EN

Stack Overflow用户
提问于 2020-06-16 08:50:57
回答 1查看 123关注 0票数 0

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

代码语言:javascript
复制
logger = can.Logger('log3.asc')

这是日志文件的结果头文件:

代码语言:javascript
复制
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中编辑这个值?或者,这是否需要额外的代码来手动进入日志文件并对这些值进行条带化?

感谢你抽出时间

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-16 10:45:45

我想你不能改变它。在python-can的源代码中,它使用%f生成微秒,并且没有用于重新定义的常量变量。

代码语言:javascript
复制
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',也没有用于重新定义的常量变量。

代码语言:javascript
复制
def _wrap_strftime(object, format, timetuple):
    ...
                if ch == 'f':
                    if freplace is None:
                        freplace = '%06d' % getattr(object,
                                                    'microsecond', 0)
    ...

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62399306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档