python - 从 python 中运行 python 脚本并捕获异常

标签 python file subprocess

从 python 中运行 python 脚本并捕获异常。

File: test1.py

try:
    a = 1/0
except:
    raise

File: test2.py

import subprocess
subprocess.call('python test.py', shell=True)

如何运行 test1.py 并捕获 test2.py 中的 ZeroDivisionError?

最佳答案

您可以使用 exec 实现此目的:

with open('script.py') as f:
    script = f.read()
    try:
        exec(script)
    except ZeroDivisionError as e:
        print('yay!', e)

关于python - 从 python 中运行 python 脚本并捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27243891/

相关文章:

python - RegEx 根据模式或分隔符替换字符实例

java - NetBeans 和 Eclipse FileNotFoundException

python - 在python中执行两行以上的bash代码

python - 如何对凹面多边形进行三角剖分?

python - 构建 BasicDecoder TensorFlow Addons 时出错

python - 使用python在保存的csv文件中打印列名

Android - 探索我的应用程序数据

django - Django 是否关闭并删除 TemporaryUploadedFiles 和 InMemoryUploadedFiles?

python - 如何使用可读的非阻塞输出管道在 linux 上的 python 中启动 node.js 子进程

python - subprocess.call 无法将标准输出发送到 ffmpeg