我们在做机器学习/深度学习开发的时候,经常会产生如下所示的大量日志:
这些日志如果不保存,转瞬即逝,当我们想要回去翻看某一轮训练日志的时候,会很遗憾的发现找不到了。
现在有了这个 Asciinema 这个神器,我们不仅能找到并导出当时的终端日志,还能够“重播日志”并“分享日志”。非常牛逼:
Asciinema 是使用Python开发的工具,请按下面的流程安装并使用。
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。
(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.
(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。
请选择以下任一种方式输入命令安装依赖:
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install asciinema
2.使用
终端输入如下命令,记录你的第一个终端日志:
asciinema rec first.cast
输入完成后会显示如下的提示:
(gs3_9) zjr@sgd-linux-1:~/cnn_test$ asciinema rec first.cast
asciinema: recording asciicast to first.cast
asciinema: press <ctrl-d> or type "exit" when you're done
意思就是日志会被保存在当前文件夹下的first.cast,如果你想结束录制,按 Ctrl + D 即可。
记录完毕后,以双倍速度重播该日志:
asciinema play -s 2 first.cast
或以正常速度但空闲时间限制为 2 秒:
asciinema play -i 2 first.cast
你也可以在启动终端日志录制时传递 -i 2 给 asciinema rec,将其永久设置在录制中:
asciinema rec first.cast -i 2
空闲时间的限制使录制更有趣。试试吧。
如果你想在网络上观看和分享,请上传:
asciinema upload first.cast
这个命令会将日志记录上传到 asciinema.org,此外,它会打印一个秘密链接,你可以使用该链接在网络浏览器中观看你录制的终端日志:
你可以通过省略文件名一步录制和上传终端的日志:
asciinema rec
录制完成后,系统会要求你确认上传。未经你的同意,不会向任何地方发送任何内容。
3.播放日志
查看日志有四种方式,最普通的是通过本地文件进行终端重播:
asciinema play /path/to/asciicast.cast
以下键盘快捷键可用:
Space- 暂停,
.- 按帧步进(暂停时),
Ctrl+C- 退出
第二种方式是通过url播放:
asciinema play https://asciinema.org/a/22124.cast
asciinema play http://example.com/demo.cast
这个方式需要你的日志已经上传到asciinema.org中。
第三种方式是通过你自己生成的html页面访问(需要<link rel="alternate" type="application/x-asciicast" href="/my/ascii.cast">在页面的 HTML 中):
asciinema play http://your_html_path/post.html
第四种方式是通过标准输入输出播放:
cat /path/to/asciicast.cast | asciinema play -
# ssh user@host cat asciicast.cast | asciinema play -
可用选项:
-i, --idle-time-limit=<sec>
- 将重播的终端空闲不动时间闲置为最大<sec>
秒数-s, --speed=<factor>
- 播放速度
4.导出日志
导出终端日志到文本文件非常简单:
asciinema cat existing.cast > terminal_output.txt
所有的终端日志都会被导出到 terminal_output.txt 中,非常方便好用。
我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注Python实用宝典。
有任何问题,可以在公众号后台回复:加群,回答相应红字验证信息,进入互助群询问。
原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!
点击下方阅读原文可获得更好的阅读体验
Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典