• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦 > 學習電腦 > 電腦安全 > 系統安全 > Python如何獲取Linux管道輸出

    Python如何獲取Linux管道輸出

    時間: 林澤1002 分享

    Python如何獲取Linux管道輸出

      ls | grep a 就把ls的輸出結果放到grep中處理,尋找含有字母a的項。Python的腳本怎么樣才能獲得類似的效果?下面是學習啦小編收集整理的Python如何獲取Linux管道輸出,希望對大家有幫助~~

      Python如何獲取Linux管道輸出

      工具/原料

      Linux平臺

      基本知識

      1你需要使用sys.stdin.read來獲取管道的輸入。

      看下圖的代碼。之所以沒有寫出文本,是希望讀者能自己寫一遍,而不是復制粘貼。自己動手寫一遍必看10遍還更容易記住。

      2然后用echo命令把輸出傳給這個腳本。

      你可能會問為什么多了一個空行。這是因為echo本身會給文本加換行符,而print函數又加了一個。給print一個end=""參數就可以了。

      即,print("來自Python的:", sys.stdin.read(), end="")

      END

      實戰演練

      假如你想要一個腳本來給輸出的行數計數,怎么寫?

      例如: ls | count

      就把ls的個數顯示出來,你就知道有多少個文件或文件夾了。

      代碼如下圖:

      主要看第6、7行:

      bi = sys.stdin.buffer.read()

      由于考慮到文件名的編碼可能不是utf-8,所以直接read可能出現亂碼(準確地說,不是亂碼,而是UnicodeDecodeError,程序根本運行不下去),所以使用了buffer,它的含義是以字節形式讀取輸出,而不是字符。

      li = bi.split(b"\n")[:-1]

      以b“\n”為分隔符分了之后,最后一項的空字節,所以要切掉最后一項。

      不要擔心沒有分成幾行的ls的輸出,經過測試,即使輸出是一行,它們之間也是用b"\n"分割的。

      把腳本改名為 count,放入 ~/bin 后測試一下。


    Python如何獲取Linux管道輸出相關文章:

    1.Linux下用Python獲取命令行輸出的幾個方案

    2.如何用Python寫Linux命令

    3.局域網python封裝linux監控模塊

    4.python版本低怎么升級

    5.Linux 命令more/less文件和目錄管理

    6.python調用外部exe程序

    3084712 主站蜘蛛池模板: 老师~你的技术真好好大| 老鸦窝在线视频2021| 在线观看国产精品va| 久久国产视频一区| 污视频在线看网站| 四虎影院在线免费播放| jjizz全部免费看片| 娇小xxxxx性开放| 久久国产精品网| 欧美日韩一区二区综合在线视频| 啊灬啊灬啊灬岳| 色婷婷丁香六月| 在线观看国产一区二区三区| 丰满人妻一区二区三区视频53| 欧美性猛交xxxx乱大交极品| 免费福利在线播放| 边吃奶边扎下很爽视频| 国产精品国产亚洲精品看不卡| 一区二区三区电影网| 日本肉动漫无遮挡无删减在线观看 | 国产成人无码网站| 97精品国产91久久久久久| 成人网视频免费播放| 久久精品国内一区二区三区| 欧美精品香蕉在线观看网| 免费黄色片网址| 色屁屁在线观看视频免费| 国产欧美日韩综合精品二区 | 成人福利视频导航| 久久精品青草社区| 欧美午夜视频在线观看| 亚洲综合一区无码精品| 2018天天干天天射| 天天做天天添天天谢| 中国人观看的视频播放中文| 日本簧片在线观看| 亚洲av日韩综合一区久热| 欧美精品免费观看二区| 免费jlzzjlzz在线播放视频| 美女被羞羞网站免费下载| 国产做无码视频在线观看浪潮|