我目前正在构建一个应用程序,该应用程序从网上抓取数据,通过一些算法运行它来组织它,然后将其显示回来。抓取过程由scrapper类中的scrape函数执行,该类操作一个非常长且简单的循环,必须从15,000个不同的URL中获取数据。这个过程当然需要很长时间,而这本身并不是一个问题。当我尝试让pygame在执行scrape函数时正确更新显示时出现问题。问题在下面的代码中说明。
def main():
scrapper.scrape(1,15000) # begins the web scrapping
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
DISPLAYSURF.fill(BGCOLOR)
pygame.display.update() # updates the display
if __name__ == "__main__": main()
据我所知,Pygame中的显示窗口需要使用pygame.display.update()
行每帧更新一次。我的问题是因为scrapper.scrape需要几分钟才能完成执行,所以整个程序都会等待这一行,并且每帧都不会调用pygame.display.update()
。我的问题是,有没有办法设置我的程序,以便scrapper.scrape
能够完成它的事情,而pygame.display.update()
每帧仍然被调用,以便显示可用?