不久之前,從一個.dat文件中讀取波形數據,通過一個自編碼網絡進行異常檢測。所以特意在此寫出來,咱從最基礎的文件讀寫開始吧。
先說數據,是一個int16型的數組。說是數組,但是讀取也并不簡單。衆所周知,數據在計算機中是用二進制的形式儲存的。int16型有符号整數。16位,16bit,也就是兩個字節。那麼自然而然的想到,讀取兩個字節(bytes)的數據(也就是16bit),然後把它轉化成int16的整型(即十進制整型)。數據就變得可以處理了。
先放一個不同位數的整型數據範圍吧,經常會用的到。
這裡補充一個小知識點,python3中的int類型是動态長度的,是長整型,理論支持無限大的數字。對一個int型實例運行内建的__sizeof__方法,可以查看占用的字節數。其中0占了24個字節,其他數字一般占用28個字節。
讀文件:文本文件
首先在python3中,字符串類型(str)包含的是Unicode characters。這種特性使得我們在python3中可以定義包含Unicode character的字符串,并甚至可以在變量标識符中使用非ASCII字符。
那麼以上的代碼做的是這樣一件事:定義一個文件對象,文件對象标明将用讀字符的手段來讀取這個文件中的内容。
>>> f.read() 'Hello, world!'
上面的代碼一次性讀取文件的全部内容,把内容讀到内存,用str對象表示。
此外還可以調用read(size),每次讀取size個字節的内容。或者調用readline(),每次讀取一行内容。将每一行的内容存在str裡,并返回一個str的列表。
為了保證文件被關閉,可以使用with關鍵詞:
讀取非UTF-8編碼的文本文件,需要給open()函數傳入encoding參數,例如,讀取GBK編碼的文件:
二進制文件:
如果要讀取二進制文件,用rb模式打開文件即可。
寫文件:
寫文件和讀文件是一樣的,調用open()函數時,傳入'w'或者'wb'表示寫文本文件或者寫二進制文件。
以上就是本文的全部内容,希望對大家的學習有所幫助。
最後多說一句,小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習等。想要這些資料的可以關注小編,并在後台私信小編:“07”即可領取。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!