如何在Python列表推导式中导入模块?实现单行加载动画
可以改成单行代码,实现方式如下
要在列表推导式里导入模块,直接用Python内置的__import__()函数即可,它支持在表达式上下文里完成模块导入操作。
改写后的单行代码:
[print(f"\rLoading... " + (('|', '/', '-', '\\')[i % 4]) + "\t", end="") or __import__('time').sleep(0.10) for i in range(100)]
关键说明:
__import__('time')和单独写import time效果一致,会返回time模块对象,因此可以直接链式调用.sleep()方法- 利用
print()函数返回None的特性,用or连接睡眠操作:因为None or 表达式会执行后面的表达式,这样每次循环都会先打印动画字符,再暂停0.1秒 - 这里的列表推导式只是用来循环执行操作,最终生成的列表元素全是
None,我们不需要这个列表,只利用它的循环执行逻辑
内容的提问来源于stack exchange,提问作者user8234870
相关产品推荐
相关产品推荐

