回到结尾

回顾上次内容

  • 过程前后台切换

    • 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/python3import timewhile True:    print(time.asctime(),end='\r')    time.sleep(1)
  • 想到就去试试

  • 果然

    • 不出所料
    • 都给删除了
  • 没事

    • 试了
    • 也就高兴了

新问题

  • 还有就是字有点小

    • 能够变大么?

  • 要清清楚楚看报时

字体变大

#装置figletsudo apt install figlet#运行figletfiglet "oeasy"#利用管道应用figletecho "oeasy" | figlet
  • 尝试应用

  • 为什么能够变大呢?

寻找原理

  • figlet有专门的大字体字库

    • 通过映射能够将字体变大

关上字形库

  • 把具体的ascii字符

    • 映射到更大的字符组合上

  • 这些字形库的秩序是如何的呢?

字形秩序

  • 比照左右组

  • 秩序是依照ascii码表的秩序

管道原理

  • 管道运算符 |

    • 就是水管子

  • 管子接好了

    • 水怎么流呢?

流动

  • 把 echo "oeasy"的输入后果

    • 当做 figlet 的输出参数
    • 再进行输入

  • 这有点亚文化啊

文艺起来

  • 能够写一些对于青春、励志、恋情的句子

    • 就更亚文化了

  • figlet 有别的字体么?

figlet 字体

  • 管制字体

    • -f

  • 实际效果

  • 还有什么能够管制吗?

地位管制

  • 管制左中右

    • -r、-c、-l

  • 当初尝试把show_time.py整合进来

    • show_time.py 的后果
    • 通过管道流到 figlet

尝试整合

  • 运行失败了

  • 我想先把那个\r去掉

    • 然而还是不行
    • 循环和提早都妨碍往管道里送货色
    • 只能只保留输入再试试
#!/usr/bin/python3import timeprint(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