【Python標準庫:fileinput】優雅的讀取檔案
每當我寫個指令碼涉及檔案輸入時,一般寫法都是下面這種
import sys
file_in = sys.argv[1]
for line in open(file_in, `r`):
commands
這個操作有一個缺點就是,如果我想從管道里面傳入資料給Python的話,就會報錯,因為原始碼要求檔案而不是標準輸入。
這個問題可以通過Python的一個標準庫: fileinput進行解決。
import fileinput
for line in fileinput.input():
process(line)
fileinput.intpu()
會幫我們自動處理輸入。如果sys.argv[1:]
裡有輸入檔案,它就會對裡面所有的檔案進行遍歷,如果sys.argv
為空,那麼它就會從標準輸入sys.stdin
裡讀取輸入,如果輸入檔案的檔名是”-“, 同樣地會從標準輸入裡讀取輸入。這樣子就省去了我們自己寫條件語句進行判斷輸入型別。
相關文章
- Python 優雅地 dumps 非標準型別Python型別
- python讀取檔案——python讀取和儲存mat檔案Python
- C#如何優雅的多表讀取C#
- python小白檔案讀取Python
- python讀取大檔案Python
- python 讀取csv檔案Python
- 【python】建立,讀取檔案Python
- python 讀取文字檔案Python
- python中xlrd庫如何實現檔案讀取?Python
- EclipseCDT標準庫標頭檔案設定Eclipse
- C++標準庫標頭檔案介紹C++
- Python標準庫04 檔案管理 (部分os包,shutil包)Python
- 使用fileinput上傳檔案
- CUJ:標準庫:基於檔案的容器 (轉)
- 如何通過 JavaCSV 類庫來優雅地(偷懶)讀寫 CSV 檔案?Java
- python如何讀取大檔案Python
- Python -讀取,儲存檔案Python
- 優雅的操作檔案:java.nio.file 庫介紹Java
- C++標準庫名字和標頭檔案--表C++
- python讀取yaml配置檔案的方法PythonYAML
- Python標準庫分享之檔案管理 (部分os包,shutil包)Python
- python常用標準庫(os系統模組、shutil檔案操作模組)Python
- javaseverlet實現的http標頭檔案的讀取JavaHTTP
- 使用python的netCDF4庫讀取.nc檔案 和 建立.nc檔案Python
- python怎麼讀取配置檔案Python
- Python 讀取HDF5檔案Python
- python解壓並讀取檔案Python
- python讀取和生成excel檔案PythonExcel
- Python 快速教程(標準庫04):檔案管理 (部分os包,shutil包)Python
- python讀取大檔案的幾種方法Python
- 使用 Python 讀取 8 GB 大小的檔案Python
- python常用標準庫Python
- 透過python讀取ini配置檔案Python
- Python生成器讀取大檔案Python
- python檔案建立、讀取和寫入Python
- 如何在python中讀取配置檔案Python
- Python之檔案讀取和寫入Python
- python讀取並寫入mat檔案Python