我是python的新手,想知道如何在我的程序运行时制作加载动画。我需要这样做是因为我不希望用户认为程序陷入了死循环。我喜欢这样的东西…
正在加载…(点消失并一一出现)
谢谢!
如果您的输出窗口支持回车符,则可以打印它以使光标返回到当前行的开头(前提是您的print
语句以逗号结尾,因此不会自动打印换行符)。然后,后续打印将覆盖已打印的内容。您可以使用它来做非常简单的单行动画。例:
import time
print "Starting program."
print "Loading ",
time.sleep(1) #do some work here...
print "\rLoading. ",
time.sleep(1) #do some more work here...
print "\rLoading.. ",
time.sleep(1) #do even more work...
print "\rLoading...",
time.sleep(1) #gratuitious amounts of work...
print "\rLoading ",
… time.sleep(1)
占位符代表您要完成的实际工作。
结果:
Starting program.
Loading
然后,一秒钟后:
Starting program.
Loading.
然后,一秒钟后:
Starting program.
Loading..
然后,一秒钟后:
Starting program.
Loading...
然后,一秒钟后:
Starting program.
Loading
等等
兼容性说明:在3.X中,print
它不再是语句,并且“以逗号结尾”的技巧也不再起作用。而是指定end
参数:
print("\rLoading...", end="")
问题内容: 过去,我使用过perl的AUTOLOAD工具来实现将符号延迟加载到名称空间中,并希望在python中具有相同的功能。 传统上,您似乎能够获得的最接近的方法是使用一个类和一个类来实现这种目的。但是,我也曾尝试在中翻阅,并提出以下建议: 从用户的角度来看,这确实可以满足我的需求: 但这让我感到震惊-人们是否倾向于使用标准方法在python中自动加载? 其次,对于经验丰富的python开发人
问题内容: 我希望IPython或Python解释器在启动它们时自动加载模块。 可能吗? 例如,当我启动IPython时: 在教程页面中可以找到类似SymPy的live shell的 东西。 问题答案: 检查文件-您可以列出要在启动时加载的所有模块。
问题内容: 我正在尝试动态加载我创建的模块。 现在这可以正常工作: 但是,如果我通过动态导入尝试相同的操作,它将失败。 提供的错误是: 有什么想法吗? 编辑:使用完整范围时(它的工作原理?): 这不会引发任何错误,但是,它不会加载索引模块,而是会加载“ neoform”模块。 “ struct”的结果是: 另外,作为附带的问题,我该如何在动态加载的模块中实例化一个类?(假设所有模块都包含一个通用的
问题内容: 我正在尝试在JLabel中加载动画GIF。 尽管这可行: 另一方面,这不是,我也不想从URL获取GIF,因为我已经有了GIF。加载结果仅显示GIF的第一帧: 我想一定是有原因的,但是我找不到。 谢谢!亚历克斯 问题答案: 您可以尝试像这样加载GIF文件: 或使用,如果你的背景是静态的。
问题内容: 我知道我可以通过执行以下操作来向对象动态添加实例方法: 稍后我可以打电话给我,自我将被正确绑定,一切正常。 现在,我的问题是:如何做完全相同的事情来获得用@property装饰新方法的行为? 我猜是这样的: 但是,这样做会返回一个属性对象。 问题答案: 在描述对象需要住 类 , 未 在 实例中 ,有你想要的效果。如果您不想更改现有的类以避免更改其他实例的行为,则需要创建“每个实例的类”
问题内容: EJB似乎是延迟加载的-每当访问时。 但是,我想热切地初始化它们-即每当容器启动时。如何实现的(特别是在JBoss中) 该主题提供了一些提示,但并不令人满意。 问题答案: 从EJB 3.1开始,可以将模块启动和停止通知单例bean: 在EJB 3.1之前,没有标准的纯EJB解决方案。我建议将WAR添加到您的EAR并使用servlet-context-listener。