我已经创建了一个python脚本来监控MS Edge的当前版本.运行时,该脚本创建一个名为preversion.txt的.txt文件,并在文本文件中写入版本号.当我手动运行该文件时,这会运行得很好.

现在,我正try 将此脚本添加到任务调度程序中,并将其添加为系统任务,以便在我未登录时运行(它应该在服务器PC上远程运行). 然而,这是行不通的. 它声称任务调度器已成功完成任务,但以返回代码2147942401结束,并且从未创建.txt文件.

请看下面的附图.

enter image description here

enter image description here

我的PYTHON脚本:

import os
import win32api

def local_has_changed():
    filepath = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
    info = win32api.GetFileVersionInfo(filepath, "\\")
    ms = info["FileVersionMS"]
    new_majorversion = str(win32api.HIWORD(ms))

    path = os.path.dirname(__file__)
    file = str(path)+"\\previous_version.txt"

    if not os.path.exists(file):
        open(file, 'w+').close()
        
    filehandle = open(file, 'r')
    old_majorversion = str(filehandle.read())
    filehandle.close()
    
    if new_majorversion != old_majorversion:
        print('Version changed from '+old_majorversion+' to '+new_majorversion)

    filehandle = open(file, 'w')
    filehandle.write(str(new_majorversion))
    filehandle.close()

local_has_changed()

该文件在远程服务器和我的本地PC上都手动运行得很好,但任务调度程序在这两个服务器上都失败了.我运行的是Windows 11

推荐答案

我终于想通了.

即使在提升的cmd中的PIP列表中列出了pywin32,系统也无法访问pywin32.

修复方法只是在提升的cmd中重新安装pywin32,现在一切都正常工作了!

Python相关问答推荐

PywinAuto在Windows 11上引发了Memory错误,但在Windows 10上未引发

在Python Attrs包中,如何在field_Transformer函数中添加字段?

无法使用DBFS File API路径附加到CSV In Datricks(OSError Errno 95操作不支持)

如何使用Python以编程方式判断和检索Angular网站的动态内容?

SQLAlchemy Like ALL ORM analog

如何在Polars中从列表中的所有 struct 中 Select 字段?

迭代嵌套字典的值

当点击tkinter菜单而不是菜单选项时,如何执行命令?

在pandas数据框中计算相对体积比指标,并添加指标值作为新列

寻找Regex模式返回与我当前函数类似的结果

将标签移动到matplotlib饼图中楔形块的开始处

提高算法效率的策略?

如何从pandas DataFrame中获取. groupby()和. agg()之后的子列?

当单元测试失败时,是否有一个惯例会抛出许多类似的错误消息?

将CSS链接到HTML文件的问题

如何在Python中创建仅包含完整天数的月份的列表

FileNotFoundError:[WinError 2]系统找不到指定的文件:在os.listdir中查找扩展名

是否将Pandas 数据帧标题/标题以纯文本格式转换为字符串输出?

按列表分组到新列中

生产者/消费者-Queue.get by list