您如何检查运行Popen的文件是否成功执行?

时间:2018-09-05 18:57:11

标签: python python-3.x subprocess

我正在尝试制作一个脚本,该脚本检测使用Popen运行的可执行文件是否能够成功运行(可能是因为它被防病毒软件阻止或程序本身已损坏)。也许通过检查文件是否是内存?我不太确定在这种情况下检测文件的最佳方法是什么,如果您有更好的建议,那么请不要犹豫共享它。

这是我的代码:

for file in glob.glob('*.exe'):
    try:
        subprocess.Popen(file)
    except Exception:
        print('okay')

我正在尝试找出最后一个“除外”部分的内容,以使此工作按我的意愿进行。

2 个答案:

答案 0 :(得分:1)

即使发生错误,也可以使用异常使程序保持运行状态。

for file in glob.glob('*.exe'):
    try:
        subprocess.Popen(file)
    except Exception as e:
        print(file,' did not run properly.')
        print(e)
        continue

这将提醒用户在保持代码运行的同时,“ *。exe”未正确运行。

答案 1 :(得分:0)

基本上,Try总是在循环中执行,只有在出现异常时才执行。现在我们需要查看输出,我们可以打印异常

except Exception as e:
        print(e)

使用continue将允许您执行循环的其余部分。看起来像这样:(前面的错误编码做法)

except Exception as e:
        print(e)
        continue;