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)文章
PaddleNLP ppdiffusers 自動(dòng)生成兔了個(gè)兔海報(bào)
這篇文章主要為大家介紹了PaddleNLP ppdiffusers 自動(dòng)生成兔了個(gè)兔海報(bào)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
python3 flask實(shí)現(xiàn)文件上傳功能
這篇文章主要為大家詳細(xì)介紹了python3 flask實(shí)現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
django模型層(model)進(jìn)行建表、查詢與刪除的基礎(chǔ)教程
這篇文章主要給大家介紹了關(guān)于django模型層(model)進(jìn)行建表、查詢與刪除的等基礎(chǔ)操作的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
Python內(nèi)置函數(shù)locals和globals對(duì)比
這篇文章主要介紹了Python內(nèi)置函數(shù)locals和globals對(duì)比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Python新手必讀bytearray對(duì)象使用技巧掌握
Python中的bytearray是一個(gè)可變序列,通常用于存儲(chǔ)二進(jìn)制數(shù)據(jù),它允許在不創(chuàng)建新的對(duì)象的情況下就地修改數(shù)據(jù),非常適用于處理字節(jié)數(shù)據(jù),本文將深入學(xué)習(xí)bytearray對(duì)象的使用,包括創(chuàng)建、修改、切片和常見(jiàn)應(yīng)用場(chǎng)景2023-12-12
Python簡(jiǎn)單實(shí)現(xiàn)查找一個(gè)字符串中最長(zhǎng)不重復(fù)子串的方法
這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)查找一個(gè)字符串中最長(zhǎng)不重復(fù)子串的方法,涉及Python針對(duì)字符串的簡(jiǎn)單遍歷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
django項(xiàng)目登錄中使用圖片驗(yàn)證碼的實(shí)現(xiàn)方法
這篇文章主要介紹了django項(xiàng)目登錄中使用圖片驗(yàn)證碼的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-08-08

