使用 Python 'while' 循环设置运行时间限制
我有一些与在Python中设置最大运行时间有关的问题.实际上,我想使用PDFMiner将PDF文件转换为.txt.问题是,通常不可能解码某些文件并花费很长时间.因此,我想设置time.time()将每个文件的转换时间限制为20秒.此外,我在Windows下运行,因此无法使用信号功能. 我成功地使用pdfminer.convert_pdf_to_txt()运行了转换代码(在我的代码中是" C"),但是我无法在段循环中集成time.time().在我看来,在以下代码中,while循环和time.time()不起作用. 总而言之,我想: 将PDF文件转换为.txt文件 每个转换的时间限制为20秒.如果时间耗尽,请抛出异常并保存一个空文件 将所有TXT文件保存在同一文件夹下 如果有任何异常/错误,仍然保存文件,但使用空内容. 这是当前代码: import converter as c import os import timeit import t
4 2023-12-03
编程技术问答社区
如何限制cin中的输入时间限制?
我想创建一个代码片段,该代码段等待一段时间(例如3秒),如果您给出 输入....罚款 但如果您不在3秒内给出输入,则该变量应获取一些默认值(由我们设置). 如何制作这样的片段? 解决方案 也许此代码有帮助: #include #include #include int getVal(int defaultValue) { int val=0; std::thread t1([&](){ std::cin>>val; }); std::this_thread::sleep_for(std::chrono::seconds(3)); t1.detach(); if(val==0) val=defaultValue; return val; } int main() { std::cout
6 2023-11-10
编程技术问答社区
Travis-CI-构建的时间限制是如何计算的?(所有工作的总和还是最长的一个工作的时间)?
假设我有一个回购,每个推动(构建)开始4个工作(不同的环境/编译器等). 构建的时间限制-50分钟.它被视为所有构建时间的总和(例如在左图中),还是每个作业独立? 示例:4个构建,每个构建20分钟 - 会超时,因为它将以80分钟的形式进行反击,或者可以,并且可以算作20分钟(最长的工作时间)? 解决方案 没有时间构建的超时;只要所有工作都不超时,就只要所有工作都可以运行. 例如,在travis-ci.org上的工作当前超时为50分钟(每10分钟至少一行打印到stdout/stderr).
6 2023-10-26
编程技术问答社区
带线程的Python超时上下文管理器
i有timeout上下文管理器,可以与信号完美搭配,但在多线程模式下会引起错误,因为信号仅在主线程中起作用. def timeout_handler(signum, frame): raise TimeoutException() @contextmanager def timeout(seconds): old_handler = signal.signal(signal.SIGALRM, timeout_handler) signal.alarm(seconds) try: yield finally: signal.alarm(0) signal.signal(signal.SIGALRM, old_handler) 我已经看过timeout的装饰器实现,但我不知道如何通过threading.Thread派生的类yield通过.我的变体不起作用. @contextmanager
12 2023-10-21
编程技术问答社区
如何在python中设置弹出时间限制?
我希望有一个时间限制,以便在以下代码中输入输入.换句话说,应该有一个计时器跟踪时间,如果超过限制,则代码应自动打印出诸如"游戏"之类的消息,而不会击中任何密钥.这是一种弹出窗口. def human(player, panel): print print_panel(panel) print 'Your Turn! , Hint: "23" means go to row No.2 column No.3/nYou got 1 min to move.' start_time = time.time() end_time = start_time + 60 while True : move = raw_input('> ') if move and check(int(move), player, panel): return int(move) else:
4 2023-10-21
编程技术问答社区
set_time_limit 不起作用
我在PHP中有一个bigint类,可以计算大数字.它运行良好,除了时间限制. 我用 设置了时间限制 set_time_limit(900); 在我的bigint.php文件中,它在localhost中起作用. 但是在我的Web主机中,当我尝试计算999^999时,它会产生错误 致命错误:/home/vhosts/mysite.com/http/bigint/bigint/bigint.php在第156行上超过10秒的最大执行时间. 这是我的代码: public function Multiply_Digit($digit){ //class function of bigint if($digit==0){$this->str="0";} else { $len=$this->length(); $Result = new bigint("0"); $carry=0; $current; /*li
44 2023-06-30
编程技术问答社区
用C++函数检查一个数字是否是质数
bool prime (long long int n) { bool prime = 1; if (n == 1) { return 0; } else { for (long long int i = 2; i o(n). 如果N为10^12,则需要大约10000秒的时间来检查N的原则(给出1秒钟只能在10^8操作左右进行). >
20 2023-06-15
编程技术问答社区
iPhone。5秒的视频拍摄
我想编写代码,以便用户按下按钮时,启动了相机并记录5秒的视频.换句话说,我想拥有视频捕获,但有时间限制. 在UIImagePickerController或框架的其他部分中是否有一些可以执行此操作的东西?谢谢. 解决方案 没有什么可以直接执行此操作的.但是您可以很容易地使用UIImagePickerController的startVideoCapture开始捕获,然后在5秒后调用stopVideoCapture 5秒,例如使用[picker performSelector:@selector(stopVideoCapture) withObject:nil afterDelay:5]. ,或者您可以通过Avoundation进行基本相同的操作,特别是Avcapturemoviefileoutput的startRecordingToOutputFileURL:recordingDelegate:和stopRecording方法.
38 2023-03-06
编程技术问答社区
如何限制c sharp中一个函数的执行时间?
我有问题.我正在编写一个基准测试,并且我的功能比在2秒或〜5分钟之后完成(取决于输入数据).如果执行超过3秒钟,我想停止该功能... 我该怎么做? 非常感谢! 解决方案 最好的方法是您的功能可以经常检查其执行时间以决定停止它花费太长. 如果不是这种情况,请在单独的线程中运行该功能.在您的主线程中,启动3秒钟的计时器.计时器快速时,使用 thread.abort()(((())当然,除非功能已经结束).请参阅函数文档中的示例代码和使用情况. 其他解决方案 好吧...,我也有同样的问题,在这里阅读了所有答案和推荐博客之后,我为此解决了, 它让我可以执行具有时间限制的代码的任何块,声明包装器方法 public static bool ExecuteWithTimeLimit(TimeSpan timeSpan, Action codeBlock) { try { Task ta
44 2023-02-07
编程技术问答社区
python用while循环设置运行时间的限制
我有一些关于在 python 中设置最大运行时间的问题.事实上,我想使用 pdfminer 将 pdf 文件转换为 .txt.问题是很多时候,有些文件无法解码并且需要很长时间.所以我想设置 time.time() 将每个文件的转换时间限制为 20 秒.另外,我在windows下运行,所以无法使用信号功能. 我成功地用 pdfminer.convert_pdf_to_txt() 运行了转换代码(在我的代码中它是“c"),但我无法将 time.time() 集成到 while 循环中.在我看来,在下面的代码中,while 循环和 time.time() 不起作用. 总之,我想: 将pdf转成txt 每次转换的时间限制为 20 秒,如果超时,抛出异常并保存一个空文件 将所有txt文件保存在同一个文件夹下 如果有任何异常/错误,仍然保存文件,但内容为空. 这是当前代码: import converter as c import os import ti
1768 2022-08-15
编程技术问答社区