Python 如果函数在当前单词处被阻止或花费的时间过长,请跳到下一个单词

Python 如果函数在当前单词处被阻止或花费的时间过长,请跳到下一个单词,python,python-3.x,Python,Python 3.x,如果执行不起作用或耗时太长,我希望函数跳到下一个单词。以下是我的功能: def encode(word): return bc.encode([[word]],is_tokenized=True) 我像这样尝试了try/exepct: def bert(word): try: return bc.encode([[word]],is_tokenized=True) except: pass 但是我的代码仍然

如果执行不起作用或耗时太长,我希望函数跳到下一个单词。以下是我的功能:

def encode(word):
      return bc.encode([[word]],is_tokenized=True)
我像这样尝试了try/exepct:

def bert(word):
        try:
            return bc.encode([[word]],is_tokenized=True)
        except:
         pass

但是我的代码仍然会停止运行一些单词。有没有一个函数可以对我的函数说,如果需要的时间太长,就传递到下一个单词?

我不知道bc.encode是什么,但我用谷歌搜索了它,如果它是
BertClient
,根据,你可以将
timeout=x
传递给构造函数,如果需要更多的时间,我假设它会抛出一个异常。

你可以计算尝试次数,如果有太多尝试,你可以在某一点上“放弃”。如果你想跳过,为什么要将
try/except
放在
中,而True
?它只会用同一个词一次又一次地尝试……我认为你在试图解决错误的问题。为什么
bc.encode
会因某些单词而暂停?那可能是个虫子,对吧?我建议调试和修复它。也许是网络问题?@KonradRudolph这是一个我只使用的图书馆。我不能改变里面的任何东西。在这一点上,我只需要编码库可以编码的任何单词give@Tomerikoo我删除了while true,它仍然不起作用你好,谢谢你的回复。当我使用timeout=5000时,它每5秒返回一个编码,这非常长。我需要200.000个单词的编码,这将需要foreverit,就像在出现错误的单词后关闭服务器,并将后面的单词返回Null