[oeasy]python0033_回车_carriage_return_figlet_字体变大
2023-02-18 16:45:56 时间
回到开头
回忆上次内容
- 进程前后台切换
- ctrl + z 把当前进程切换到后台并暂停
jobs
查看所有作业- 用
fg
可以把后台进程再切回前台fg %1
可以把指定的任务切回前台
- 用
bg
可以让进程在后台运行
- 进程查询
ps -elf
查看所有进程信息ps -lf
查看本终端相关进程信息kill -9 PID
给进程发送死亡信号pstree -h
可以查看进程树
- 运行多个
python3 show_time.py
的话- 各个进程独立
python3 show_time.py
大概 7M- 各占内存
- 这个切进程很好用
- 不过运行进程的时候总是满屏刷时间
- 可以固定在屏幕的某个位置刷新时间吗??
回到从头
- 我们重新去游乐场
\n
是我们熟悉的转义字符- 我们先复习一下
\n
编辑
- 这次把
\n
换成\r
\r
的作用是回到行头- 如果原来输出的字符串比新的长
- 怎么办呢?
return
-
\r
- 回车return
- 只负责回到行头
- 不换行
编辑
- 过程
- 先输出abcdef
- 然后回到行头
- 再输出123
- 结果就是123def
- 不要翻篇
- 自己尝试修改
show_time.py
- 让输出时间固定在一行
- 自己尝试修改
结合程序
- 这个程序和 sleep 的结合很简单
- 只需要把输出的字符串前面加上
\r
- 并且把结尾默认的
end="\n"
- 换成
end=""
- 换成
- 只需要把输出的字符串前面加上
编辑
- 试验成功
- 真的定在那儿刷新了
突发奇想
编辑
- 如果我把结束符设置为"\r"会如何呢?
尝试
#!usr/bin/python3
import time
while True:
print(time.asctime(),end='\r')
time.sleep(1)
- 想到就去试试
编辑
- 果然
- 不出所料
- 都给删除了
- 没事
- 试了
- 也就快乐了
新问题
- 还有就是字有点小
- 可以变大么?
编辑
- 要清清楚楚看报时
字体变大
#安装figlet
sudo apt install figlet
#运行figlet
figlet "oeasy"
#利用管道使用figlet
echo "oeasy" | figlet
- 尝试使用
编辑
- 为什么可以变大呢?
寻找原理
编辑
- figlet有专门的大字体字库
- 通过映射可以将字体变大
打开字形库
- 把具体的ascii字符
- 映射到更大的字符组合上
编辑
- 这些字形库的次序是如何的呢?
字形次序
- 对比左右组
编辑
- 次序是按照ascii码表的次序
管道原理
-
管道运算符 |
- 就是水管子
编辑
- 管子接好了
- 水怎么流呢?
流动
- 把 echo "oeasy"的输出结果
- 当做 figlet 的输入参数
- 再进行输出
编辑
- 这有点亚文化啊 ?
文艺起来
- 可以写一些关于青春、励志、爱情的句子
- 就更亚文化了?
编辑
- figlet 有别的字体么?
figlet 字体
- 控制字体
- -f
编辑
- 实际效果
编辑
- 还有什么可以控制吗?
位置控制
- 控制左中右
- -r、-c、-l
编辑
- 现在尝试把show_time.py整合进来
- 把
show_time.py
的结果 - 通过管道流到
figlet
中
- 把
尝试整合
- 运行失败了
编辑
- 我想先把那个
\r
去掉- 但是还是不行
- 循环和延迟都阻碍往管道里送东西
- 只能只保留输出再试试
#!/usr/bin/python3
import time
print(time.asctime())
- 把原来show_time.py文件修改了
- 循环延迟都删除了
- 只纯纯输出时间
最终
编辑
- 保存并退出
- 在shell里运行
python3 show_time.py
- 在shell里面输出重定向
python3 show_time.py | figlet
输出
- 输出是可以的
- 但是不会刷新
- 而且太大了
- 超过一行了
编辑
- 不过至少可以出现一次时间了
总结
- 用
\r
- 可以让输出位置回到行首
- 原位刷新时间
- 如果想要的是大字符效果
- 需要使用 figlet
- 但同时还希望能刷新
编辑
- 这可能吗??
- 我们下次再说!?
- 蓝桥->oeasy 教您玩转 python_Python - 蓝桥云课
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->oeasy教您玩转python教程: 面向零基础初学者的简明易懂的 Python3 入门课程,对没有编程经验的同学也非常友好。在vim下从浅入深,逐步学习。从基础入门学习到爬虫。
- 视频->[oeasy]教您玩转python零基础学python入门教程(合集)_哔哩哔哩_bilibili 作者:oeasy
相关文章
- Python 实现Web容器指纹识别
- Python 多线程爬取西刺代理
- Python 实现指定窗口置顶激活
- Python 使用xlsxwriter绘制Excel表格
- Python实现Paramiko二次封装
- Python通过SNMP监控网络设备
- Python 运用Paramiko实现批量巡检
- Python 使用oslo.vmware管理ESXI虚拟机
- Python 使用sigthief签发证书
- Python 原生Socket实现端口扫描
- Python MySSH 实现剧本执行器
- Python 实现 WebSocket 通信
- Python 字符串与字节数组转换
- Python 代码推送百度链接
- Python 封装SNMP调用接口
- Python 封装zabbix-get接口
- python 与 arduino 硬件初试
- Python 博客园备份迁移脚本
- Python 检测PE所启用保护方式
- Python 实现Tracert追踪TTL值