乐趣区

关于python:oeasypython0035-整合shell编程循环延迟清屏

整合 shell 编程

回顾上次内容

  • \r

    • 能够让输入地位回到行首
    • 原位刷新工夫
  • 如果想要的是大字符成果

    • 须要应用 figlet
    • 但同时还心愿能刷新
  • 这可能吗?🤔

建设脚本

  • 咱们得相熟一下shell
  • 先新建一个 test.sh

    • vi test.sh
python3 show_time.py
python3 show_time.py
python3 show_time.py
  • 看起来就是把这个内容输入了 3 次
  • 能够执行么?

尝试执行

  • 留神执行细节
  • 在 vim 的失常状态用 :w|!sh % 执行

    • :w 保留
    • | 并且执行
    • !sh % 用外部命令 sh 执行这个test.sh

      • 留神这里应用的内部程序不是 python
      • 而是 sh
      • sh 就像 python3 是外部命令名
      • % 代指 test.sh

        • 就像以前的 sleep.py
        • 是文件名
  • 的确输入了三次工夫
  • 但我还想把字变大怎么办呢?

figlet 变大

  • show_time.py 的输入字符串

    • 间接通过 管道 | 给到 figlet
  • 其中

    • show_time.py程序

      • 只负责输入工夫
    • 输入的后果

      • 通过 管道 |figlet
    • figlet

      • 负责变大
  • 如果想要输入三个变大之后的工夫
  • 应该如何呢?

三次输入

  • 批改 test.sh

    • vi test.sh
    • 编写以下文件
python3 show_time.py | figlet
python3 show_time.py | figlet
python3 show_time.py | figlet
  • 尝试运行
  • 运行后果
  • 的确变大了

    • 而且输入了三次
  • 当初须要不只输入三次

    • 而是有限屡次一直刷新
    • 应该怎么办呢?

尝试循环

  • 有限屡次必定须要循环!
  • 原来放在 python 文件 中的的循环和定时性能

    • 当初都须要放在 sh 脚本 文件里
    • shell 来管制提早的节奏
  • 那问题来了

    • sh 脚本文件 如何进行循环?

搜寻一下!

  • 尝试依据这个批改

shell 循环

  • 在 shell 中

    • 新编辑一个loop.sh
    • vi loop.sh
  • 输出以下内容
for a in {1..10}
do
    echo $a
done
  • 尝试运行此文件

保留并运行

  • :w 保留以后文档
  • :!sh %运行以后shell
  • :w|!sh %保留并运行以后shell
  • 执行的后果如下
  • 胜利循环了起来
  • 光是循环还不够

    • 还须要提早
  • 怎么办?

搜寻提早

for a in {1..10}
do
    echo $a
    sleep 1s
done
  • :w|!sh %

    • 保留并运行以后 shell
  • 提早胜利

    • 接下来须要输入工夫了
    • 而且是通过管道给 figlet 的大工夫

整合 python

  • 把原来数字的局部换成执行命令

    • python3 show_time.py | figlet
for a in {1..10}
do
    python3 show_time.py | figlet
    sleep 1s
done
  • 输入胜利

    • 的确能够刷新
    • 然而一屏幕上
    • 有两个工夫
  • 很乱!
  • 我想只有一个!

    • 少则得多则惑!
  • 能够清一下屏幕么?

尝试清屏

for a in {1..10}
do
    clear
    python3 sleep.py | figlet
    sleep 1s
done
  • 先去总结一下

总结

  • 这次咱们钻研了 shell 脚本的编程
  • 并且在 shell 中实现了

    • 循环语句
    • 提早命令
    • 清屏命令
    • python 命令
    • figlet 命令
  • 还能整点什么呢?🤔
  • 下次再说👋
  • 蓝桥 ->https://www.lanqiao.cn/course…
  • github->https://github.com/overmind19…
  • gitee->https://gitee.com/overmind198…
  • 视频 ->https://www.bilibili.com/vide… 作者:oeasy
退出移动版