[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编辑

                                                                                                                                                        目录
                                                                                                                                                        相关文章
                                                                                                                                                        |
                                                                                                                                                        1月前
                                                                                                                                                        |
                                                                                                                                                        存储 数据采集 人工智能
                                                                                                                                                        Python编程入门:从零基础到实战应用
                                                                                                                                                        本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
                                                                                                                                                        |
                                                                                                                                                        20天前
                                                                                                                                                        |
                                                                                                                                                        Unix Linux 程序员
                                                                                                                                                        [oeasy]python053_学编程为什么从hello_world_开始
                                                                                                                                                        视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
                                                                                                                                                        105 80
                                                                                                                                                        |
                                                                                                                                                        4天前
                                                                                                                                                        |
                                                                                                                                                        安全 Shell 数据处理
                                                                                                                                                        使用Python执行Shell命令并获取结果
                                                                                                                                                        在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
                                                                                                                                                        29 12
                                                                                                                                                        |
                                                                                                                                                        9天前
                                                                                                                                                        |
                                                                                                                                                        Python
                                                                                                                                                        [oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
                                                                                                                                                        本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
                                                                                                                                                        30 14
                                                                                                                                                        |
                                                                                                                                                        19天前
                                                                                                                                                        |
                                                                                                                                                        分布式计算 大数据 数据处理
                                                                                                                                                        技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
                                                                                                                                                        随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
                                                                                                                                                        57 2
                                                                                                                                                        |
                                                                                                                                                        1月前
                                                                                                                                                        |
                                                                                                                                                        人工智能 数据挖掘 开发者
                                                                                                                                                        探索Python编程之美:从基础到进阶
                                                                                                                                                        本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!
                                                                                                                                                        |
                                                                                                                                                        1月前
                                                                                                                                                        |
                                                                                                                                                        人工智能 数据可视化 数据挖掘
                                                                                                                                                        探索Python编程:从基础到高级
                                                                                                                                                        在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
                                                                                                                                                        |
                                                                                                                                                        2月前
                                                                                                                                                        |
                                                                                                                                                        存储 索引 Python
                                                                                                                                                        Python编程数据结构的深入理解
                                                                                                                                                        深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
                                                                                                                                                        153 59
                                                                                                                                                        |
                                                                                                                                                        1月前
                                                                                                                                                        |
                                                                                                                                                        小程序 开发者 Python
                                                                                                                                                        探索Python编程:从基础到实战
                                                                                                                                                        本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
                                                                                                                                                        48 10
                                                                                                                                                        |
                                                                                                                                                        1月前
                                                                                                                                                        |
                                                                                                                                                        机器学习/深度学习 人工智能 Java
                                                                                                                                                        Python 语言:强大、灵活与高效的编程之选
                                                                                                                                                        本文全面介绍了 Python 编程语言,涵盖其历史、特点、应用领域及核心概念。从 1989 年由 Guido van Rossum 创立至今,Python 凭借简洁的语法和强大的功能,成为数据科学、AI、Web 开发等领域的首选语言。文章还详细探讨了 Python 的语法基础、数据结构、面向对象编程等内容,旨在帮助读者深入了解并有效利用 Python 进行编程。