IPython库及其显示工具介绍
【摘要】 IPython 是一个功能强大的 交互式 Python 解释器,比标准 Python 解释器提供了更丰富的功能(如代码自动补全、内联绘图、魔法命令等)。它也是 Jupyter Notebook 的核心组件之一。IPython.display 模块是 IPython 提供的显示工具,专门用于在交互式环境中(如 Jupyter Notebook/IPython shell)渲染富媒体内容。它的常...
IPython 是一个功能强大的 交互式 Python 解释器,比标准 Python 解释器提供了更丰富的功能(如代码自动补全、内联绘图、魔法命令等)。它也是 Jupyter Notebook 的核心组件之一。
IPython.display
模块是 IPython 提供的显示工具,专门用于在交互式环境中(如 Jupyter Notebook/IPython shell)渲染富媒体内容。它的常用功能包括:
-
clear_output()
• 清除当前单元格的输出(常用于动态更新内容)。 -
Image()
• 直接显示图片(支持文件路径、二进制数据或 URL)。 -
display()
• 通用显示函数,可渲染多种对象(如 Pandas 表格、Matplotlib 图表等)。 -
HTML()
• 渲染 HTML 代码(用于嵌入网页元素或自定义样式)。
使用例子一(Jupyter Notebook 示例)
from IPython.display import display, Image, HTML
# 显示图片
display(Image(filename="cat.png"))
# 动态更新输出
import time
for i in range(5):
clear_output(wait=True) # 清除旧输出
print(f"Progress: {i+1}/5")
time.sleep(1)
# 渲染 HTML
display(HTML("<h1 style='color:red'>Hello IPython!</h1>"))
使用例子二(Jupyter Notebook 示例)
video_name = "./data/v_TaiChi_g01_c01.avi"
from IPython.display import clear_output, Image, display, HTML
import cv2
import time
def arrayShow(img):
_,ret = cv2.imencode('.jpg', img)
return Image(data=ret)
cap = cv2.VideoCapture(video_name)
while True:
try:
clear_output(wait=True)
ret, frame = cap.read()
if ret:
tmp = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
img = arrayShow(frame)
display(img)
time.sleep(0.05)
else:
break
except KeyboardInterrupt:
cap.release()
cap.release()
与标准 Python 的区别
• 标准 Python REPL:仅支持纯文本输出。
• IPython/Jupyter:支持富媒体(图片、视频、交互式图表等),适合数据分析和可视化。
当你用 Jupyter Notebook 或类似工具,IPython.display
是控制输出的重要工具。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)