gpt4 book ai didi

python - 如何对因库函数而挂起的函数实现超时?

转载 作者:行者123 更新时间:2023-12-01 06:38:16 24 4
gpt4 key购买 nike

我正在构建一个程序,用于验证给定文件树中的媒体和文档文件。当它尝试读取 pdf(使用 PyPDF2)时,它偶尔会卡住程序。我想在该函数上实现超时,以便它只是超时并记录错误而不是崩溃。这是我的 PDF 功能代码:

def pdf_verify(file, good_files, bad_files):
try:
PyPDF2.PdfFileReader(open(file, "rb"))
good_files.append(file)
except:
bad_files.append(file)

return good_files, bad_files

它尝试使用 PyPDF2 打开 PDF 文件,如果无法打开,它会捕获异常并将该文件附加到错误文件列表中。我知道有一种方法可以在 Linux 上执行此操作,但我需要该程序可以在 Windows 上运行。有什么办法可以做到这一点吗?谢谢!

最佳答案

有多种方法可以解决这个问题:

  1. 使用线程并监控该函数所花费的时间
  2. 使用信号 - 检查 limit execution time of a function
  3. 等待程序发生异常并使用 except 捕获它

关于python - 如何对因库函数而挂起的函数实现超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59566025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com