[oeasy]python0035_ 整合shell編程_循環(huán)_延遲_清屏
整合shell編程
回憶上次內(nèi)容
用
\r
可以讓輸出位置回到行首
原位刷新時間
如果想要的是大字符效果
需要使用 figlet
但同時還希望能刷新

這可能嗎???
建立腳本
我們得熟悉一下
shell
先新建一個test.sh
vi test.sh
python3 show_time.py python3 show_time.py python3 show_time.py
看起來就是把這個內(nèi)容輸出了 3 次

可以執(zhí)行么?
嘗試執(zhí)行
注意執(zhí)行細節(jié)

在vim的正常狀態(tài)用
:w|!sh %
執(zhí)行注意這里使用的外部程序不是python
而是sh
sh 就像 python3 是外部命令名
% 代指test.sh
就像以前的sleep.py
是文件名
:w
保存|
并且執(zhí)行!sh %
用外部命令sh
執(zhí)行這個test.sh

確實輸出了三次時間
但我還想把字變大怎么辦呢?
figlet變大
show_time.py
的輸出字符串直接通過
管道|
給到figlet
其中
負責(zé)變大
通過
管道|
給figlet
只負責(zé)輸出時間
show_time.py
程序輸出的結(jié)果
figlet

如果想要輸出三個變大之后的時間
應(yīng)該如何呢?
三次輸出
修改test.sh
vi test.sh
編寫以下文件
python3 show_time.py | figlet python3 show_time.py | figlet python3 show_time.py | figlet
嘗試運行

運行結(jié)果

確實變大了
而且輸出了三次
現(xiàn)在需要不只輸出三次
而是無限多次不斷刷新
應(yīng)該怎么辦呢?
嘗試循環(huán)
無限多次肯定需要循環(huán)!
原來放在
python文件
中的的循環(huán)和定時功能現(xiàn)在都需要放在
sh腳本
文件里由
shell
來控制延遲的節(jié)奏那問題來了
sh腳本文件
如何進行循環(huán)?
搜索一下!


嘗試根據(jù)這個修改
shell循環(huán)
在shell中
新編輯一個
loop.sh
vi loop.sh
輸入以下內(nèi)容
for a in {1..10}do ? ?echo $adone
嘗試運行此文件
保存并運行

:w
保存當(dāng)前文檔:!sh %
運行當(dāng)前shell
:w|!sh %
保存并運行當(dāng)前shell
執(zhí)行的結(jié)果如下

成功循環(huán)了起來
光是循環(huán)還不夠
還需要延遲
怎么辦?
搜索延遲

for a in {1..10}do ? ?echo $a ? ?sleep 1sdone

:w|!sh %
保存并運行當(dāng)前
shell
延遲成功
接下來需要輸出時間了
而且是通過管道給 ?
figlet
的大時間
整合 python
把原來數(shù)字的部分換成執(zhí)行命令
python3 show_time.py | figlet
for a in {1..10}do ? ?python3 show_time.py | figlet ? ?sleep 1sdone
輸出成功
確實可以刷新
但是一屏幕上
有兩個時間
很亂!

我想只要一個!
少則得多則惑!
可以清一下屏幕么?
嘗試清屏

for a in {1..10}do ? ?clear ? ?python3 sleep.py | figlet ? ?sleep 1sdone
先去總結(jié)一下
總結(jié)
這次我們研究了shell腳本的編程
并且在shell中實現(xiàn)了
循環(huán)語句
延遲命令
清屏命令
python命令
figlet命令

還能整點什么呢???
下次再說??
藍橋->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython
視頻->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy