比起其它數據類型,文件對象有一些不同。它被認爲核心類型只是因爲文件對象是由內建函數創建的,但它不是數字、不是序列、也不是映射。它只適用於文件處理的相關方法。
方法:
open
函數的第二個參數爲打開類型,r
表示只讀;w
表示寫入;a
表示添加到末尾。
notes
- 文件迭代器是一行一行讀取文件的最好方法
儘管文件有很多讀取文件的方法,但永遠記着。讀取文件的最好方法不是一次讀取完整個文件,而是通過for循環、列表推導式或者其他迭代工具。 - 文件內容是字符串,而不是對象
讀取文件返回的是字符串,而不是對象。當寫入文件內容是,必須寫入格式化之後的文件,Python不會自動格式化。所以我們可以通過int()
float()
等其他方法將字符串轉換爲需要的對象。 - 緩存區和可定位的
寫入文件的內容不會立即保存到硬盤中,在關閉文件之前會一直存在緩存區中。可以通過flush
方法強制將緩存區中的內容存進硬盤;Python的文件也支持基於偏移量的隨機訪問——seek
方法允許我們跳到特定位置讀或寫。 close
操作可有可無
Python的回收機制會在對象沒有引用之後自動釋放所佔的空間——當文件對象不是引用之後Python會自動回收文件對象,也就會自動關閉文件。但是,這並不是經定義的python特性,可能會在未來的某個版本中改變。但是養成關閉文件的習慣更好。