python筆記 | python中的文件操作

1.文件打開

我們使用open(),函數打開一個文件,這個函數有兩個參數,第一個參數爲文件名或者是路徑,這個路徑可以是絕對路徑,也可以是相對路徑,不過假如是文件名的話,需要在當前目錄下,比如

Fobj = open(“mama.txt”),

Fobj = open(“code/mama.txt”),//相對路徑

Fobj = open(“/home/code/mama.txt”),//絕對路徑

第二個參數爲

"r",以只讀模式打開,你只能讀取文件但不能編輯/刪除文件的任何內容

"w",以寫入模式打開,如果文件存在將會刪除裏面的所有內容,然後打開這個文件進行寫入

"a",以追加模式打開,寫入到文件中的任何數據將自動添加到末尾

"w+",以讀寫方式打開

"a+",以追加寫方式打開

"ab",以追加寫方式打開

"rb",以只讀模式打開二進制文件

"wb",以寫入模式打開,二進制文件

"wb+",以讀寫方式打開二進制文件

"ab+",以追加讀方式打開二進制文件

這裏的open和C++語言fopen函數的第二個參數模式一樣

直接輸出文件指針會出現以下結果:

>>> fboj =open("mama.txt")

>>> fboj

<_io.TextIOWrapper name='mama.txt'mode='r' encoding='UTF-8'>

會顯示文件名,打開模式和編碼方式

同樣的,可以使用fboj.close()關閉文件,因爲程序打開文件的個數使有限制的,當打開的文件超過限制的時候,程序可能會崩潰,並且每個打開的文件都會佔用一定的內存資源,打開的文件不關閉會浪費大量的內存資源,並且文件一直處於打開的狀態會有文件數據損壞或者是丟失的可能性

2.文件讀取

使用read()函數讀取整個文件,包括換行符,製表符,並且會在文件的末尾加上一個換行符

>>> fboj = open(“mama.txt”)

>>> fboj.read()

'sssssss\njintian shige haoriz\ngg fu gg\n'

read()在讀取整個文件之後會把文件指針移動文件末尾

read(size) 有一個可選的參數 size,用於指定字符串長度。如果沒有指定 size 或者指定爲負數,就會讀取並返回整個文件。當文件大小爲當前機器內存兩倍時,就會產生問題。反之,會儘可能按比較大的 size 讀取和返回數據,注意這裏的size指定的是字符串的長度

readline() 能幫助你每次讀取文件的一行。

>>> fboj =open("mama.txt")

>>> fboj.readline()

'sssssss\n'

使用 readlines() 方法讀取所有行到一個列表中

>>> fobj =open("mama.txt")

>>> fobj.readlines()

['sssssss\n', 'jintian shige haoriz\n', 'ggfu gg\n']

可以使用For循環遍歷文件的每一行的字符串

>>> fobj =open("mama.txt")

>>> for x in fobj:

...    print(x, end=' ')

sssssss

 jintian shige haoriz

 ggfu gg

這樣寫也是可以的for x infobj.readlines():

2.文件寫入

讓我們通過 write() 方法打開一個文件然後我們隨便寫入一些文本

>>> fobj =open("mama.txt",'w')

>>> fobj.write("mamamammamama")

13

可以看到,write的返回值是寫入字符的個數

>>> fobj =open("mama.txt")

>>> fobj.read()

'mamamammamama'

我們可以看到,文件中原來的內容被覆蓋掉了,這是因爲,以w的方式打開文件會首先將文件的內容清空,然後在往裏面寫入內容,要想避免這種情況的發生,需要使用open()函數的’a’追加模式

發佈了234 篇原創文章 · 獲贊 19 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章