乐趣区

关于python:oeasypython0033回车carriagereturnfiglet字体变大

回到结尾

回顾上次内容

  • 过程前后台切换

    • 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
退出移动版