最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[oeasy]python0036_牛說_cowsay_小動物說話_asciiart_figlet_lolcat_管道(祝大家新

2022-12-31 09:56 作者:oeasy  | 我要投稿

牛說(cowsay)

回憶上次內(nèi)容

  • 上次我們研究了shell腳本的編程

  • 并且在shell中實現(xiàn)了

    • 循環(huán)語句

    • 延遲命令

    • 清屏命令

    • python命令

    • figlet命令

  • 還能整點什么呢???

  • 還想要讓小動物報時

cowsay

  • 首先要安裝 cowsay

sudo apt install cowsay

  • 裝完之后

    • cow 就可以 say 了嗎?

  • 怎么say呢?

利用管道

  • 利用管道(pipe)來say

  • 如何與報時函數(shù)整合呢?

整合

  • 這如何和我們的報時程序整合呢?

#!usr/bin/python3import time print(time.asctime())

  • 一步一步來

  • figlet的結(jié)果再通過管道送cowsay

管道原理

  • 然后嘗試循環(huán)起來

把 cowsay 整合進來

  • 把figlet的輸出結(jié)果再送到cowsay -f moose -n

    • 其實就是一步步通過管道流淌的過程

for a in {1..10}do ? ?clear ? ?python3 show_time.py | figlet |cowsay -f moose -n ? ?sleep 1sdone

  • 看起來有點復雜

    • 保留轉(zhuǎn)義字符\n

    • 避免屏幕混亂

    • 使用駝鹿

    • -f moose

    • -n

    • 這確實有點亞文化??

    • 可以來點更亞的文化嗎???

    彩色效果

    #安裝彩色程序sudo apt install lolcat#實驗echo oeasy | lolcat

    • 這樣就可以輸出彩色效果了

    • 這個可以!

      • 真的很亞?

    • 可以再把報時整合進來嗎?

    整合報時

    • 有的時候會因為寬度問題

    • 感覺很亂

    • 我想把時間簡化為時分秒

    整合時間

    • 整合進入原來的loop.sh

    • 循環(huán)中

      • 清屏后

      • 輸出這個效果

      • 再延時

    for a in {1..100}do ? ?clear ? ?python3 sleep.py | figlet | cowsay -f moose -n | lolcat ? ?sleep 1s done

    • 輸出時間太長

      • 其實我只想輸出時分秒

    搜索

    • 這個就得修改最初的生成時間的源頭

    • 修改 show_time.py 文件

    show_time.py

    #!/usr/bin/python3import time localtime = time.strftime(' %H:%M:%S',time.localtime())print(localtime,end="")

    • 這個東西應該如何理解呢?

    具體理解

    • strftime 函數(shù)

      • str 是字符串 string 的意思

      • f 是 format

    • strftime 函數(shù) 把一個 time.localtime()

      • 格式化為一個字符串

    • 缺省參數(shù)就是當前時間

    #!/usr/bin/python3import timeprint(time.strftime('%H:%M:%S'),end="")

    • 格式如何理解呢?

    理解格式

    • 格式化成 %H:%M:%S 這個格式

      • %H是小時

      • %M是分鐘

      • %S是秒鐘

      • 中間用:分割

      • 這個格式選取了三個時間元組項

    • 試驗走起來

    直接運行 sh

    • 這兩個搭配起來確實可以運行了!

    • 但是循環(huán)次數(shù)還是受限制

    • 可以做一個永遠循環(huán)的嗎?

    搜索

    • 看起來是把

      • for i in {0..100}

    • 換成

      • while true

    替換效果

    • 效果還行

    更多效果

    • 哈哈 火雞turkey也能說話

      • 也許我們也可以用fortune-zh

      • 把偈語打到時鐘旁邊???

    • 如果我想直接運行 loop.sh 呢?

      • 而不是sh loop.sh可以么?

    直接運行

    • 直接運行的話

    • loop.sh沒有執(zhí)行權(quán)限

    • 給他提權(quán)

      • chmod 改變模式

      • u+x 給當前用戶增加執(zhí)行權(quán)限

    chmod u+x loop.sh ./loop.sh

    • 然后再運行

    • 綠色說明可以運行了

    • 不過前面還是需要當前路徑./

      • 如果就想要 loop.sh 直接運行

      • 不要當前路徑 ./ 呢?

    設置路徑

    export PATH=$PATH:.

    • 注意$的位置

      • 前面的是PATH沒有$

      • 后面的$PATH有$

    • .(點) 指的是當前的路徑

    • 這樣

      • 就可以直接運行當前路徑下的程序了

      • 不用在程序前面加上./

    • 不過如果關了當前的shell

      • 還是不能直接運行

    • 怎么辦來著???

    ~/.zshrc

    • 編輯當前zsh的配置文件 ~/.zshrc

      • 每次進入zsh都會執(zhí)行這個配置文件的

    • 這樣重開一個shell

      • 還是可以直接運行l(wèi)oop.sh

      • 跳出循環(huán)可以用ctrl+c

      • 把循環(huán)放到后臺用ctrl+z

    • 這就是我們之前都接觸過的內(nèi)容了!

      • 啊~終于完成了

      • 不容易?。?!

      • 可以自己做一個小動物嗎?

    • 還是先來總結(jié)一下吧!

    總結(jié)

    • 我們狂飆了一路

    • shell程序

      • 從用 shell 直接運行 python 程序

      • 到用 shell 循環(huán)運行 python 程序

    • shell中的循環(huán)體

      • 把 python 的輸出結(jié)果用管道交給了 figlet 程序

      • 把 figlet 輸出的結(jié)果用管道給了 cowsay

      • 把 cowsay 的結(jié)果給了 lolcat

    • 最后是提權(quán)直接運行shell程序

    • 這一路真的好遠啊

      • 如果能用 python 直接調(diào)用 shell 中的命令就好了

      • 那個時候 python 就成了膠水的主體

      • 完成主循環(huán)、延遲等粘合的工作

      • 用 shell 把 python 的粘了起來

      • 分時輸出的

      • python3 是腳本解釋器

      • shell 也是腳本解釋器

      • 其實我們是在 shell 中利用 python3 的輸出結(jié)果

      • 不過這一路真的好繞

      • 也許有一天可以做到

      • 可以自己畫一個小動物來報時嗎???

      • 我們下次再說程序!??

      • 藍橋->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


      [oeasy]python0036_牛說_cowsay_小動物說話_asciiart_figlet_lolcat_管道(祝大家新的評論 (共 條)

      分享到微博請遵守國家法律
      阿拉善左旗| 九龙坡区| 云阳县| 新兴县| 永平县| 望都县| 太仆寺旗| 水富县| 沙雅县| 孝义市| 托克托县| 赣州市| 德保县| 崇信县| 赣州市| 闻喜县| 武乡县| 德钦县| 卢龙县| 台山市| 和硕县| 福贡县| 陇川县| 临沭县| 革吉县| 临泽县| 津南区| 长葛市| 海淀区| 延长县| 礼泉县| 比如县| 曲靖市| 英山县| 永安市| 延津县| 东阳市| 察雅县| 平阴县| 太原市| 阜宁县|