python - 如果需要太长时间,如何在 python 中终止 exec() 函数?
问题描述
我正在尝试制作一个接收用户代码并运行它的函数:
code = input("Your code: ")
def execute(c):
exec(c)
execute(code)
但是,如果用户进入无限循环,该函数将永远运行。
exec()
如果函数花费的时间太长,有没有办法终止函数?例如,如果代码执行时间超过 15 秒,则程序终止。
提前致谢。
解决方案
有多种解决方案,例如,您可以传递全局变量停止条件,并在满足条件后从 exec 内部引发异常。其他解决方案是在单独的线程/进程中运行 exec 并在需要时发送一些停止信号。
推荐阅读
- c# - LINQ 表达式 DbSet
无法翻译 - python - 如何从熊猫向子数据框添加新列
- spring-boot - Ansible - 从战争档案中取消归档细节文件
- go - Golang 在运行 main.go 时不断崩溃,异常 0xc0000005
- swiftui - 如何在 SwiftUI 中将 2 个导航链接推送到堆栈?
- javascript - 我的日期选择器不会改变它在反应钩子中的值
- c# - 术语“取消引用”对象到底是什么意思?
- system-verilog - AXI 验证 IP 测试示例
- html - 如何使用css Flexbox将html Div设置在一边
- python-3.x - 为 pygame 运行 setup.py install ... 错误错误:命令出错,退出状态为 1: