[oeasy]python0035_ 整合shell编程_循环_延迟_清屏

简介: [oeasy]python0035_ 整合shell编程_循环_延迟_清屏

 

整合shell编程

回忆上次内容

    • \r
      • 可以让输出位置回到行首
      • 原位刷新时间
        • 如果想要的是大字符效果
          • 需要使用 figlet
          • 但同时还希望能刷新

            image.gif编辑

              • 这可能吗?🤔

              建立脚本

                • 我们得熟悉一下shell
                • 先新建一个test.sh
                  • vi test.sh

                    python3 show_time.py

                    python3 show_time.py

                    python3 show_time.py

                      • 看起来就是把这个内容输出了 3 次

                      image.gif编辑

                        • 可以执行么?

                        尝试执行

                          • 注意执行细节

                          image.gif编辑

                            • 在vim的正常状态用:w|!sh %执行
                              • :w 保存
                              • | 并且执行
                              • !sh % 用外部命令sh执行这个test.sh
                                • 注意这里使用的外部程序不是python
                                • 而是sh
                                • sh 就像 python3 是外部命令名
                                • % 代指test.sh
                                  • 就像以前的sleep.py
                                  • 是文件名

                                        image.gif编辑

                                          • 确实输出了三次时间
                                          • 但我还想把字变大怎么办呢?

                                          figlet变大

                                            • show_time.py 的输出字符串
                                              • 直接通过 管道| 给到 figlet
                                                • 其中
                                                  • show_time.py程序
                                                    • 只负责输出时间
                                                      • 输出的结果
                                                        • 通过管道|figlet
                                                          • figlet
                                                            • 负责变大

                                                                image.gif编辑

                                                                  • 如果想要输出三个变大之后的时间
                                                                  • 应该如何呢?

                                                                  三次输出

                                                                    • 修改test.sh
                                                                      • vi test.sh
                                                                      • 编写以下文件

                                                                        python3 show_time.py | figlet

                                                                        python3 show_time.py | figlet

                                                                        python3 show_time.py | figlet

                                                                          • 尝试运行

                                                                          image.gif编辑

                                                                            • 运行结果

                                                                            image.gif编辑

                                                                              • 确实变大了
                                                                                • 而且输出了三次
                                                                                  • 现在需要不只输出三次
                                                                                    • 而是无限多次不断刷新
                                                                                    • 应该怎么办呢?

                                                                                      尝试循环

                                                                                        • 无限多次肯定需要循环!
                                                                                        • 原来放在 python文件 中的的循环和定时功能
                                                                                          • 现在都需要放在 sh脚本 文件里
                                                                                          • shell 来控制延迟的节奏
                                                                                            • 那问题来了
                                                                                              • sh脚本文件 如何进行循环?

                                                                                                搜索一下!

                                                                                                image.gif编辑

                                                                                                image.gif编辑

                                                                                                  • 尝试根据这个修改

                                                                                                  shell循环

                                                                                                    • 在shell中
                                                                                                      • 新编辑一个loop.sh
                                                                                                      • vi loop.sh
                                                                                                        • 输入以下内容

                                                                                                        for a in {1..10}

                                                                                                        do

                                                                                                           echo $a

                                                                                                        done

                                                                                                          • 尝试运行此文件

                                                                                                          保存并运行

                                                                                                          image.gif编辑

                                                                                                            • :w 保存当前文档
                                                                                                            • :!sh %运行当前shell
                                                                                                            • :w|!sh %保存并运行当前shell
                                                                                                            • 执行的结果如下

                                                                                                            image.gif编辑

                                                                                                              • 成功循环了起来
                                                                                                              • 光是循环还不够
                                                                                                                • 还需要延迟
                                                                                                                  • 怎么办?

                                                                                                                  搜索延迟

                                                                                                                  image.gif编辑

                                                                                                                  for a in {1..10}

                                                                                                                  do

                                                                                                                     echo $a

                                                                                                                     sleep 1s

                                                                                                                  done

                                                                                                                  image.gif编辑

                                                                                                                    • :w|!sh %
                                                                                                                      • 保存并运行当前 shell
                                                                                                                        • 延迟成功
                                                                                                                          • 接下来需要输出时间了
                                                                                                                          • 而且是通过管道给 figlet 的大时间

                                                                                                                            整合 python

                                                                                                                              • 把原来数字的部分换成执行命令
                                                                                                                                • python3 show_time.py | figlet

                                                                                                                                  for a in {1..10}

                                                                                                                                  do

                                                                                                                                     python3 show_time.py | figlet

                                                                                                                                     sleep 1s

                                                                                                                                  done

                                                                                                                                    • 输出成功
                                                                                                                                      • 确实可以刷新
                                                                                                                                      • 但是一屏幕上
                                                                                                                                      • 有两个时间
                                                                                                                                        • 很乱!

                                                                                                                                        image.gif编辑

                                                                                                                                          • 我想只要一个!
                                                                                                                                            • 少则得多则惑!
                                                                                                                                              • 可以清一下屏幕么?

                                                                                                                                              尝试清屏

                                                                                                                                              image.gif编辑

                                                                                                                                              for a in {1..10}

                                                                                                                                              do

                                                                                                                                                 clear

                                                                                                                                                 python3 sleep.py | figlet

                                                                                                                                                 sleep 1s

                                                                                                                                              done

                                                                                                                                                • 先去总结一下

                                                                                                                                                总结

                                                                                                                                                  • 这次我们研究了shell脚本的编程
                                                                                                                                                  • 并且在shell中实现了
                                                                                                                                                    • 循环语句
                                                                                                                                                    • 延迟命令
                                                                                                                                                    • 清屏命令
                                                                                                                                                    • python命令
                                                                                                                                                    • figlet命令

                                                                                                                                                      image.gif编辑

                                                                                                                                                        目录
                                                                                                                                                        相关文章
                                                                                                                                                        |
                                                                                                                                                        11天前
                                                                                                                                                        |
                                                                                                                                                        数据采集 机器学习/深度学习 人工智能
                                                                                                                                                        Python:现代编程的首选语言
                                                                                                                                                        Python:现代编程的首选语言
                                                                                                                                                        184 102
                                                                                                                                                        |
                                                                                                                                                        11天前
                                                                                                                                                        |
                                                                                                                                                        数据采集 机器学习/深度学习 算法框架/工具
                                                                                                                                                        Python:现代编程的瑞士军刀
                                                                                                                                                        Python:现代编程的瑞士军刀
                                                                                                                                                        181 104
                                                                                                                                                        |
                                                                                                                                                        11天前
                                                                                                                                                        |
                                                                                                                                                        人工智能 自然语言处理 算法框架/工具
                                                                                                                                                        Python:现代编程的首选语言
                                                                                                                                                        Python:现代编程的首选语言
                                                                                                                                                        177 103
                                                                                                                                                        |
                                                                                                                                                        11天前
                                                                                                                                                        |
                                                                                                                                                        机器学习/深度学习 人工智能 数据挖掘
                                                                                                                                                        Python:现代编程的首选语言
                                                                                                                                                        Python:现代编程的首选语言
                                                                                                                                                        124 82
                                                                                                                                                        |
                                                                                                                                                        11天前
                                                                                                                                                        |
                                                                                                                                                        数据采集 机器学习/深度学习 人工智能
                                                                                                                                                        Python:现代编程的多面手
                                                                                                                                                        Python:现代编程的多面手
                                                                                                                                                        29 0
                                                                                                                                                        |
                                                                                                                                                        20天前
                                                                                                                                                        |
                                                                                                                                                        存储 人工智能 算法
                                                                                                                                                        Python实现简易成语接龙小游戏:从零开始的趣味编程实践
                                                                                                                                                        本项目将中国传统文化与编程思维相结合,通过Python实现成语接龙游戏,涵盖数据结构、算法设计与简单AI逻辑,帮助学习者在趣味实践中掌握编程技能。
                                                                                                                                                        81 0
                                                                                                                                                        |
                                                                                                                                                        1月前
                                                                                                                                                        |
                                                                                                                                                        数据采集 监控 调度
                                                                                                                                                        应对频率限制:设计智能延迟的微信读书Python爬虫
                                                                                                                                                        应对频率限制:设计智能延迟的微信读书Python爬虫
                                                                                                                                                        |
                                                                                                                                                        1月前
                                                                                                                                                        |
                                                                                                                                                        安全 测试技术 数据处理
                                                                                                                                                        Python列表推导式进阶:从简洁代码到高效编程的10个核心技巧
                                                                                                                                                        列表推导式是Python中高效的数据处理工具,能将多行循环代码压缩为一行,提升代码可读性与执行效率。本文详解其基础语法、嵌套循环、条件表达式、函数融合、性能优化等进阶技巧,并结合实战案例与边界条件处理,帮助开发者写出更优雅、高效的Python代码。
                                                                                                                                                        114 0
                                                                                                                                                        |
                                                                                                                                                        程序员 Python
                                                                                                                                                        6_python基础—循环(上)
                                                                                                                                                        6_python基础—循环
                                                                                                                                                        138 0
                                                                                                                                                        6_python基础—循环(上)
                                                                                                                                                        7_python基础—while循环应用1-100累加和
                                                                                                                                                        7_python基础—while循环应用1-100累加和
                                                                                                                                                        469 0

                                                                                                                                                        推荐镜像

                                                                                                                                                        更多