用于python 3.x的utmp、wtmp和btmp读卡器模块
pyutmpx的Python项目详细描述
这个项目是一个二进制python 3.x模块,使用posix兼容和/或 用于读取utmp/wtmp/btmp项的系统特定头。它的目标是 与多个类unix系统兼容。
这些文件的格式已标准化为utmpx、wtmpx和 btmpx在Single Unix Specification中,尽管它们的位置 取决于系统。对应的系统/路径没有硬编码 为了能够通过复制一个 无需分叉和向代码添加条目的已知行为。
用法
模块至少定义了utmp对象,最多定义了它和另外两个对象 数据库,它们是wtmp和btmp。这三个物体表现出 同样,在其余的描述中,我只处理utmp。
utmp既是迭代器又是iterable,使用自己作为迭代器,它 允许您使用诸如列表理解之类的工具。你也可以使用 使用它的.reset()和.next()方法。
每个返回条目都是一个utmp_entry,它包含以下内容 属性:
- type
条目类型,其中包括:
- ^{tt13}$
- Time of system boot.
- ^{tt14}$
- Time before system clock change.
- ^{tt15}$
- Time after system clock change.
- ^{tt16}$
- Normal process.
- ^{tt17}$
- Process spawned by init(8).
- ^{tt18}$
- Session leader process for user login.
- ^{tt19}$
- Terminated process.
- id
- 终端名称后缀,或inittab(5)id(作为字符串)。
- user
- 用户名(作为字符串)。
- line
- 用户登录的行,通常是 tty减去“/dev/”部分(作为字符串)。
- date
- 事件的日期(作为datetime.datetime实例)。
- pid
- 进程标识符(整数)。
还有什么要做
- 实现其他接口(标准和非标准),如中所述 utmp.c中的“兼容性”部分。
- 添加wtmp和btmp对象。
- 为这些对象添加utmp文件名获取和设置。
- 添加一个类似列表的接口,具有长度和索引。
- 添加方法以添加事件,例如登录或注销事件。