文件操做

文件:python

文件是操做系統給用戶提供一個操做計算機硬盤的一個簡易接口網絡

文件操做:操作系統

    對文件進行讀、寫、關閉操做。指針

 

1.python代碼操做文件:索引

f = open(文件路徑)接口

f.read()  # 讀取文件中的全部文件,返回的是一個字符串類型utf-8

f.write() # 向文件中編寫內容,返回的是寫入的字符串裏面字符個數字符串

f.close()  # 關閉文件系統  返回值爲Noneit

 

文件路徑for循環

相對路徑:必須有一個參照物,一般是相對於執行文件所在的文件夾位置

絕對路徑:相似於GPS全球定製,不須要任何參照物。

注意:輸入文件名路徑時,當輸入的文件路徑爲絕對路徑,而這時文件名中有(\+字母),這種組合中有屬於轉移字符,爲了讓計算機不把這種組合不看成轉移字符,有兩種方式,一種是在\後面或前面在加一個\,或者在整個路徑有單引號‘’括起來,前面加u便可

1. r'D:av\ttt\xxx\ooo\rrr\1.txt'   絕對路徑
2. 'D:av\ttt\xxx\ooo\\rrr\1.txt'   絕對路徑
3. ‘1.txt’ 相對

 

F = open(文件路徑,mode = ‘r or w or t (t or b)’,encoding = ‘utf-8’)

文件操做模式:

r:只讀模式

1.當打開一個不存在文件名時,會報錯

2.若是打開的文件存在,則只能對文件進行讀操做,不能執行其餘操做

w.只寫模式

1.當打開一個不存在文件時,系統默認在執行程序所在位置文件夾內新建該文件,只能對該新文件進行寫操做,不過會把文件裏面的內容先清空,而後再寫入。不能執行其餘操做。

2.當打開的文件存在時,只能對文件進行寫操做,不過會把文件裏面的內容先清空,而後再寫入。不能執行其餘操做。

t.只追加模式

1.當打開的文件不存在時,系統默認在執行程序所在位置文件夾內新建該文件,而後能夠對該新文件進行寫操做。此時打開文件後,光標會移動到文件內容末尾

2.當打開的文件存在時,能夠對該文件進行寫操做。此時打開文件後,光標會移動到文件內容末尾。

 

文件操做單位:

t:文本模式

1.只能和r/w/a連用,不寫的狀況下,默認就是t

b:原生的二進制數據

1.只能和r/w/a連用

2.該模式一般用來處理非文本文件

3.直接存儲網絡上傳過來的二進制數據

 

爲了讓咱們避免每次打開一個文件後忘記close這個文件,用到了另外一個方法,該方法當open文件結束後,會自動close這個文件。該方法爲上下文管理

 

文件的上下文管理

格式

With open(‘文件名路徑’,mode = ‘r or w or t (t or b)’,encoding = ‘utf-8’) as  f1:

    ………

Pass

當想打開多個文件時,能夠在後面追加

With open(‘文件名路徑’,mode = ‘r or w or t (t or b)’,encoding = ‘utf-8’) as  f1,\

Open (‘文件名路徑’,mode = ‘r or w or t (t or b)’,encoding = ‘utf-8’) as  f2:

    pass

內置方法:

f.read(x)   #返回的是字符串中下標索引x以前的字符串(顧頭不顧尾)

f.readline(x)  # 返回的是一行字符串,只顯示下標索引x存在的當行前面的內容

f.readlines(x)  # 返回的是一個字符串列表,只顯示下標索引x存在的當行全部內容以及前面的內容。

f.write(str)  返回值爲寫入的字符串長度。寫完後,行標在文件內容末尾

f.writelines(iterable)  #返回值爲None. X爲一個能夠for循環的容器,例如:字符串列表[‘’,‘’,‘’]

f.readable()  返回bool值  是否可讀。

f.writeable()  #  返回bool值 是否可寫

 

 

 

 

 

 

f.tell()  # 返回的是一個整型,該值表示行標所在的位置,裏面沒有參數,按字節計算,換行符都算。好比:當打開一個新文件時,f.tell返回值爲0.

 

 

 

 

 

 

 

f.seek(offset,whence)  # 改變行標 在默認狀況下都是以文件的開頭爲參照物進行移動的。以二進制文件進行操做。返回的是行標所在的位置

1.默認值時0,表示從文件開頭開始計算指針的偏移的量(簡稱偏移量)。這時offset必須是大於0的整數

2.當whence = 1時,表示從當前位置開始計算偏移量。若是offset 是負數,表示從當前位置向前移動(左邊),若是offset是正數,表示向後移動(右邊)。

3.當whence = 2,表示相對文件末尾移動,只能在b模式下使用,offest爲負值時向左移動,正值時向右移動,沒有顯示空

注意:f.seek(x),f.tell(x),f.read(x),f.read(x),f.readline(x)  裏面X都是按字節來使用的,當遇到中文字符是須要注意。

 

 

 

 

 

 

 

 

其餘模式填充

r+、W+、a+

r+

1.以讀寫方式方式打開文件,可對文件進行讀和寫操做,當文件裏面有內容時,寫的時候默認從文件內容末尾添加,不會從行標所在位置日後添加

 

 

 

 

 

 

W+

1.打開文件的同時,先清除文件裏面的內容,而後再以讀寫方式打開文件

 

 

 

 

 

 

 

 

 

 

 

a+

1.以讀寫方式打開文件,並把文件指針移動到文件末尾

相關文章
相關標籤/搜索