轉載一段簡潔明瞭的python程式碼 實現了讀取檔案並按行反轉後輸出
事情是這樣,我在用python自帶的logging.FileHandler,輸出logging記錄,主要是記錄主力合約切換的。很簡單。
就是用米筐的get_dominant或者聚寬的get_dominant_future去查詢一段時間品種的主力合約,返回的都是是日期為index,合約名稱為值的Pandas.Series。這裡可以用 Series自帶的drop_duplicates(), 如果返回一個主力合約,說明沒有切換;如果返回為2說明有切換,次數可以讀取一個值的index作為切換日期輸出到log檔案備註。
def check_dominant(symbol,startdate,enddate) -> str: """ 傳入合約名日期,返回str :param symbol: :return: """ dominant_symbol_list = rq.get_dominant(symbol.upper(),startdate,enddate) if dominant_symbol_list is not None: last_symbol_series = dominant_symbol_list.tail(self.check_days+1).drop_duplicates() if len(last_symbol_series)>1: self.dominant_change =True strLen = f"請注意 在{list(last_symbol_series.index)[-1]}日,({symbol})主力合約切換: {last_symbol_series[-2]} -> {last_symbol_series[-1]}. " logger.info(strLen)
本來很平常一段使用,但是在log檔案時往下寫入,就是查詢必須滾動到最下。如果很多,還真是麻煩。想有沒有方法逆序寫入log文件,最新的放在最上面;搜尋logging文件和stackflow討論;基本方案繼承FileHandler重寫寫入文件方法,因為從頭插入檔案效率太低了,並不鼓勵。
後面想想就找個笨方法吧,每次輸出儲存後,在按行讀取反轉從寫一個逆序的log;自己寫了些程式碼實現,感覺實在笨拙。無意搜尋到一段簡潔明瞭的python程式碼,感覺實在明瞭,可以算是pythonic code。分享如下:
with open(filename_sequence) as f, open(filename) as fout: fout.writelines(reversed(f.readlines()))
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22259926/viewspace-2842447/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C++中的檔案輸入/輸出(2):讀取檔案 (轉)C++
- 實現檔案拖放的一種簡潔方法 (轉)
- jquery實現的讀取並解析xml檔案程式碼例項jQueryXML
- Java讀取本地檔案內容並輸出Java
- Python的configparser模組讀取.ini檔案內容並輸出Python
- Java 按行讀檔案操作程式碼Java
- Swift 下載檔案,並讀取Swift
- python按行讀取檔案,如何去掉換行符"\n"Python
- asp.net 按行讀取包含中文的文字(txt)檔案並取得行數ASP.NET
- python讀取兩個excel資料檔案輸出整理好以後的excel資料檔案PythonExcel
- python解壓並讀取檔案Python
- Vue實現點選按鈕進行檔案下載(後端Java)Vue後端Java
- 簡單實現分行輸出的javascript程式碼JavaScript
- 讀取DXF格式檔案 (轉)
- delphi讀取ini檔案 (轉)
- python讀取並寫入mat檔案Python
- [work] python讀取txt檔案最後一行Python
- 大神教你python 讀取檔案並把矩陣轉成numpy的兩種方法Python矩陣
- 一行 Python 程式碼實現並行Python並行
- 輸出EXCEL檔案的通用函式,很實用 (轉)Excel函式
- 讀取檔案最後一行
- 可能是最簡潔明瞭的數字金額中文大寫函式 (轉)函式
- 利用函式指標,編寫一段簡潔的程式碼,實現計算器的功能函式指標
- python中xlrd庫如何實現檔案讀取?Python
- 【Python】讀取excel並輸出到txtPythonExcel
- Python按行讀檔案 - XuXn - 部落格園PythonUX
- Java程式碼實現下載檔案Java
- 用Socket實現點對點的檔案傳輸 (轉)
- Python 獲取圖片檔案大小並轉換為base64編碼Python
- 轉載:字元輸出流Writer簡要概括字元
- 【簡潔明瞭】python中用pip 安裝、更新以及更新固定的包Python
- python程式碼讀取遠端檔案的方法--paramikoPython
- python得到地區資訊,並讀取檔案資料,然後視覺化實現資料下鑽Python視覺化
- python怎麼不轉行輸出Python
- C++中的檔案輸入/輸出(3):掌握輸入/輸出流 (轉)C++
- 用Python實現檔案亂序(轉)Python
- 【轉】PHP如何快速讀取大檔案PHP
- UnixWare 7.1.3直接讀取*.iso檔案(轉)