python使用技巧-標(biāo)準(zhǔn)輸入
可以通過(guò)單個(gè)文件的內(nèi)容作為標(biāo)準(zhǔn)輸入:
1.建立文件std.py
import sys for line in sys.stdin: ? ? print(line, end="")
在linux下運(yùn)行cat /etc/passwd | python std.py
或者python std.py < /etc/passwd
就會(huì)把/etc/passwd
中的內(nèi)容打印出來(lái),在程序中通過(guò)sys.stdin
獲取
sys.stdin
是一個(gè)普通文件對(duì)象,除了從標(biāo)準(zhǔn)輸入讀取內(nèi)容以外,并沒(méi)有特殊之處。我們也可以使用sys.stdin
調(diào)用文件對(duì)象的方法。如調(diào)用read函數(shù)讀取標(biāo)準(zhǔn)輸入中的所有內(nèi)容。
2.建立文件std2.py
import sys print(sys.stdin.read())
運(yùn)行cat /etc/passwd | python std2.py
讀取多個(gè)文件內(nèi)容作為標(biāo)準(zhǔn)輸入
使用fileinput
,可以依次讀取命令行參數(shù)中給出的多個(gè)文件。大部分情況下,我們直接調(diào)用fileinput模塊的input
方法按行讀取內(nèi)容即可。 例如建立文件read_file.py
import fileinput for line in fileinput.input(): ? ? print(line, end="")
在linux下運(yùn)行python read_stdin.py /etc/passwd /etc/passwd-
,可以輸出多個(gè)文件內(nèi)容
因?yàn)?code>fileinput可以讀取多個(gè)文件的內(nèi)容,所以fileinput
提供了一些方法讓我們知道當(dāng)前所讀取的內(nèi)容屬于哪一個(gè)文件。
fileinput中常用的方法有:
- 1、
filename
:當(dāng)前正在讀取的文件名; - 2、
fileno
:文件的描述符; - 3、
filelineno
:正在讀取的行是當(dāng)前文件的第幾行; - 4、
isfirstline
:正在讀取的行是否當(dāng)前文件的第一行; - 5、
isstdin
:正在讀取文件還是直接從標(biāo)準(zhǔn)輸入讀取內(nèi)容。
代碼如下:
import fileinput for line in fileinput.input(): ? ? meta = [fileinput.filename(),fileinput.fileno(),fileinput.filelineno(),fileinput.isfirstline(),fileinput.isstdin()] ? ? print(meta) ? ? print(line, end="")
到此這篇關(guān)于python使用技巧-標(biāo)準(zhǔn)輸入的文章就介紹到這了,更多相關(guān)python標(biāo)準(zhǔn)輸入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中asyncio與aiohttp入門(mén)教程
今天小編就為大家分享一篇關(guān)于Python中asyncio與aiohttp入門(mén)教程,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10pytorch中nn.Flatten()函數(shù)詳解及示例
nn.Flatten是一個(gè)類,而torch.flatten()則是一個(gè)函數(shù),下面這篇文章主要給大家介紹了關(guān)于pytorch中nn.Flatten()函數(shù)詳解及示例的相關(guān)資料,需要的朋友可以參考下2023-01-01Python開(kāi)啟Http Server的實(shí)現(xiàn)步驟
本文主要介紹了Python開(kāi)啟Http Server的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Python實(shí)現(xiàn)繪制M2貨幣供應(yīng)率曲線
這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)繪制M2貨幣供應(yīng)率曲線,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-06-06python判斷變量是否為int、字符串、列表、元組、字典的方法詳解
這篇文章主要介紹了python判斷變量是否為int、字符串、列表、元組、字典的方法詳解,需要的朋友可以參考下2020-02-02django rest framework serializers序列化實(shí)例
這篇文章主要介紹了django rest framework serializers序列化實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Python全棧之文件函數(shù)和函數(shù)參數(shù)
這篇文章主要為大家介紹了Python的文件函數(shù)和函數(shù)參數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2021-12-12