如何通过Python获取Windows和Windows的用户登录/注销时间;Linux?

如何通过Python获取Windows和Windows的用户登录/注销时间;Linux?,python,linux,login,window,Python,Linux,Login,Window,我正在尝试开发一个脚本或工具来告诉每个用户占用计算机的时间,以便管理和平衡资源。至于用户名,Python提供了通过os.getlogin()获取用户名的干净方法。但是,我搜索了一下,没有找到一个简洁的Python API方法来获取特定用户的登录和注销时间。对于Windows,我必须“查询用户”,而这不适用于Windows XP。对于Linux,我不得不承认我并不擅长它。你们知道一种跨平台和Python API的方法吗 非常感谢! DiWindows解决方案(应在xp上运行) 你可以用 impor

我正在尝试开发一个脚本或工具来告诉每个用户占用计算机的时间,以便管理和平衡资源。至于用户名,Python提供了通过os.getlogin()获取用户名的干净方法。但是,我搜索了一下,没有找到一个简洁的Python API方法来获取特定用户的登录和注销时间。对于Windows,我必须“查询用户”,而这不适用于Windows XP。对于Linux,我不得不承认我并不擅长它。你们知道一种跨平台和Python API的方法吗

非常感谢! Di

Windows解决方案(应在xp上运行)

你可以用

import platform
platform.uname() 
例如,确定您所处的操作系统,并对每个操作系统使用单独的方法

import platform
os_name = platform.uname()[0].lower()
if os_name == "windows":
   get_win_login_time()
elif os_name.endswith("nix"):
   get_nix_login_time()
....
要回答您的问题,请与网络用户联系

import win32net, win32netcon, platform

win32net.NetUserEnum(win32net.NetGetDCName(),2,win32netcon.FILTER_NORMAL_ACCOUNT)

对于linux页面可能会对您有所帮助。win32api具有NetUserEnum,如果您使用2作为级别,您将在返回的用户信息中获得最后一次登录作为字段。。。这在XPS上应该可以很好地工作。感谢您提供此解决方案。win32net与Python3.3兼容吗?我现在正在使用Python3。我使用了这个方法。但是,它只能打印“管理员”和“来宾”,不能打印所需用户:“\\COMPANY\u DOMAIN\EMPLOYEE\u ID”。如何将域名作为参数传递给“NetUserEnum()”?已编辑以反映答案。。。我想至少。。。它应该向网络用户展示
import win32net, win32netcon, platform

win32net.NetUserEnum(win32net.NetGetDCName(),2,win32netcon.FILTER_NORMAL_ACCOUNT)