9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
學習啦 > 學習電腦 > 電腦安全 > 系統安全 > 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 主站蜘蛛池模板: 成 人 色 网 站免费观看| 国产精品毛片av999999| 特级做a爰片毛片免费看无码| 免费国产午夜理论片不卡| 亚洲欧美中文字幕日韩一区二区| 久久精品人妻无码一区二区三区| AV毛片无码中文字幕不卡| 人妻换着玩又刺激又爽| 熟女女同亚洲女同中文字幕| 加勒比精品一区二区三区| 久久国语对白| 午夜高清国产拍精品福利| 日韩精品一区二区三区久| 国产午夜亚洲精品久久| 国产精品一二三中文字幕| 成人亚洲精品一区二区三区| 国产高清在线男人的天堂| 亚洲色婷婷综合开心网| 无码av最新无码av专区| 成年黄页网站大全免费无码| 一本大道久久香蕉成人网| av新版天堂在线观看| 国产成人99亚洲综合精品| 欧美黑吊大战白妞| 欧美日韩国产亚洲沙发| 污网站在线观看视频| 国产精品国产高清国产av| 精品国产一区二区三区蜜臀| 久久96热在精品国产高清 | 亚洲第一综合天堂另类专| 国产三级a三级三级| 亚洲国产片一区二区三区| 丰满岳乱妇三级高清| 亚洲女人天堂| 国产成人8x视频一区二区| 国产成人片无码视频| 亚洲中文字幕无码av永久| 国产日韩一区二区四季| 久久亚洲欧美日本精品| 国产精品乱码人妻一区二区三区| 免费一级黄色好看的国产|