微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python正确查找和阅读Windows应用程序事件日志

所以我的最终目标是使用python来读取一个特定的应用程序的Windows事件日志时,由文件更新触发。

这是我的问题,我相信python无法访问存储在C: Windows System32 winevt Logs中的事件日志。 每当我尝试阅读文件,我得到以下错误

WindowsError: [Error 2] The system cannot find the file specified

我试过每种forms的转义,stringsplit / join和在文件path上使用引号,我总是得到相同的错误。 我甚至在python命令提示符中使用os.system('dir“C: Windows System32 …”)命令来列出日志path中较高的目录来validation访问,并且我收到类似的错误在C: Windows System32目录下,那个列表就好了。

例:

pthread条件variablesvs win32事件(linux vs windows-ce)

使用C#扩展方法处理事件

线程退出事件 – C ++

在没有应用程序注意的情况下,在窗口中编程截取屏幕截图

linux – 不能让eventfd和epoll一起工作

C:WindowsSystem32winevtLogs - File not found C:WindowsSystem32winevt - File not found C:WindowsSystem32 - Lists files

我知道这些目录存在。 所以从这里我想我可以使用一个bash脚本来复制事件日志到一个临时文件夹供python阅读。 我写了一个真正简单的bash脚本,其中包含:

xcopy /Y "C:WindowsSystem32winevtLogsXXXXXXX" c:Temp

(XXXXXXX)是我想要为Python脚本复制的日志的名称

bash脚本自行运行正常,但是当我的python脚本调用失败时,拒绝复制文件,因为找不到它。 我甚至尝试使用py2exe创build一个exe,然后以pipe理员模式运行。 这也失败了。 与没有find文件类似的错误。 我不确定我是否理解python用来调用脚本的权限,以及为什么bash脚本无法复制文件,即使它可以在正常的命令提示符下执行。

任何你可以在我的逻辑中指出的build议或缺点都会很好。 我很困难。

使用wiuse库及其事件的问题

在linux中生成鼠标,键…等事件

logging功率/电池事件

如何在新的“浏览器”选项卡或窗口中打开链接时触发GTM触发器

这是什么意思,如果一个事件是否有信号?

您在64位安装的Windows上使用32位Python。

在大多数情况下,只要32位应用程序尝试访问%windir% System32,访问就会重定向到%windir% SysWOW64

你可以使用os.listdir(“c: windows sysnative winevt logs”)作为一个解决方法,从真正的system32目录中读取一个在64位窗口上运行的32位Python解释器。

来源: http : //msdn.microsoft.com/en-us/library/windows/desktop/aa384187(v = vs.85).aspx http://support.microsoft.com/kb/942589

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐