草庐IT

python - 限时输入?

这个问题在这里已经有了答案:Keyboardinputwithtimeout?(26个回答)关闭3年前。我希望能够使用输入向用户提问。例如:print('somescenario')prompt=input("Youhave10secondstochoosethecorrectanswer...\n")然后如果时间过去了打印类似的东西print('Sorry,timesup.')任何能指引我正确方向的帮助将不胜感激。 最佳答案 如果在用户没有提供答案时阻塞主线程是可以接受的:fromthreadingimportTimertimeo

python - 如何为 python unittest 指定测试超时?

我正在使用python框架unittest。是否可以通过框架的能力指定测试超时?如果不是,是否可以为所有测试优雅地指定一个timeout并为一些单独的测试为每个测试指定一个私有(private)值?我想为所有测试定义一个全局超时(默认情况下他们会使用它),并为一些可能需要很长时间的测试定义一个超时。 最佳答案 据我所知unittest不包含对测试超时的任何支持。你可以试试timeout-decorator来自PyPI的库。将装饰器应用于单个测试以使它们在耗时过长时终止:importtimeout_decoratorclassTest

python - 如何为 python unittest 指定测试超时?

我正在使用python框架unittest。是否可以通过框架的能力指定测试超时?如果不是,是否可以为所有测试优雅地指定一个timeout并为一些单独的测试为每个测试指定一个私有(private)值?我想为所有测试定义一个全局超时(默认情况下他们会使用它),并为一些可能需要很长时间的测试定义一个超时。 最佳答案 据我所知unittest不包含对测试超时的任何支持。你可以试试timeout-decorator来自PyPI的库。将装饰器应用于单个测试以使它们在耗时过长时终止:importtimeout_decoratorclassTest

Python子进程超时?

是否有任何参数或选项可以为Python的subprocess.Popen方法设置超时?类似这样的:subprocess.Popen(['..'],...,timeout=20)? 最佳答案 我建议看看Timerclass在threading模块。我用它来实现Popen的超时。.首先,创建一个回调:deftimeout(p):ifp.poll()isNone:print'Error:processtakingtoolongtocomplete--terminating'p.kill()然后打开进程:proc=Popen(...)然后创

Python子进程超时?

是否有任何参数或选项可以为Python的subprocess.Popen方法设置超时?类似这样的:subprocess.Popen(['..'],...,timeout=20)? 最佳答案 我建议看看Timerclass在threading模块。我用它来实现Popen的超时。.首先,创建一个回调:deftimeout(p):ifp.poll()isNone:print'Error:processtakingtoolongtocomplete--terminating'p.kill()然后打开进程:proc=Popen(...)然后创

python - 如何在 Python 3 中处理 urllib 的超时?

首先,我的问题与thisone非常相似.我希望urllib.urlopen()超时以生成我可以处理的异常。这不属于URLError吗?try:response=urllib.request.urlopen(url,timeout=10).read().decode('utf-8')except(HTTPError,URLError)aserror:logging.error('Dataof%snotretrievedbecause%s\nURL:%s',name,error,url)else:logging.info('Accesssuccessful.')错误信息:resp=urll

python - 如何在 Python 3 中处理 urllib 的超时?

首先,我的问题与thisone非常相似.我希望urllib.urlopen()超时以生成我可以处理的异常。这不属于URLError吗?try:response=urllib.request.urlopen(url,timeout=10).read().decode('utf-8')except(HTTPError,URLError)aserror:logging.error('Dataof%snotretrievedbecause%s\nURL:%s',name,error,url)else:logging.info('Accesssuccessful.')错误信息:resp=urll

python - 如何设置 raw_input 的时间限制

在python中,有没有办法在等待用户输入时计算时间,以便在30秒后自动跳过raw_input()函数? 最佳答案 signal.alarm不幸的是,@jer推荐的解决方案所基于的函数仅适用于Unix。如果您需要跨平台或特定于Windows的解决方案,您可以基于threading.Timer相反,使用thread.interrupt_main从计时器线程向主线程发送KeyboardInterrupt。即:importthreadimportthreadingdefraw_input_with_timeout(prompt,timeo

python - 如何设置 raw_input 的时间限制

在python中,有没有办法在等待用户输入时计算时间,以便在30秒后自动跳过raw_input()函数? 最佳答案 signal.alarm不幸的是,@jer推荐的解决方案所基于的函数仅适用于Unix。如果您需要跨平台或特定于Windows的解决方案,您可以基于threading.Timer相反,使用thread.interrupt_main从计时器线程向主线程发送KeyboardInterrupt。即:importthreadimportthreadingdefraw_input_with_timeout(prompt,timeo

python - 使用 urllib2 或任何其他 http 库读取超时

我有读取这样的网址的代码:fromurllib2importRequest,urlopenreq=Request(url)forkey,valinheaders.items():req.add_header(key,val)res=urlopen(req,timeout=timeout)#Thislineblockscontent=res.read()超时适用于urlopen()调用。但是随后代码到达了我想要读取响应数据的res.read()调用,并且在那里没有应用超时。因此,读取调用可能几乎永远挂起,等待来自服务器的数据。我发现的唯一解决方案是使用信号来中断read(),因为我正在使