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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....