回到结尾
回顾上次内容
-
过程前后台切换
- 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
- 但同时还心愿能刷新
- 这可能吗?🤔
- 咱们下次再说!👋
- 蓝桥 ->https://www.lanqiao.cn/course…
- github->https://github.com/overmind19…
- gitee->https://gitee.com/overmind198…
- 视频 ->https://www.bilibili.com/vide… 作者:oeasy