真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python——文件IO常用操作

文件IO常用操作

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的江岸網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

一般說IO操作,指的是文件IO;如果是網(wǎng)絡(luò)IO,都會直接說網(wǎng)絡(luò) IO

Python——文件IO常用操作

open 打開操作

open(file, mode = "r" , buffering = -1 , encoding = None , errors = None , newline = None,closefd = True , opener = None)

1.打開一個(gè)文件,返回一個(gè)文件對象(流對象)和文件描述符。打開文件失敗,則返回異常

2.基本使用:創(chuàng)建一個(gè)文件test ,然后打開它,用完關(guān)閉

文件操作中,最常用的操作就是讀和寫。

文件訪問的模式有兩種:

    1.文本模式 t

    2.二進(jìn)制模式 b

不同模式下,操作函數(shù)不盡相同,表現(xiàn)的結(jié)果也不一樣

注意:windows中使用 copypage代碼頁,可以認(rèn)為每一個(gè)代碼頁就是一張編碼表。cp936 => GBK

open函數(shù)的參數(shù)

file:

打開 或者要?jiǎng)?chuàng)建的文件名。如果路徑不存在。默認(rèn)是當(dāng)前路勁

mode 模式 缺省值  "r"

Python——文件IO常用操作

"r" 只讀打開文件

- 如果使用write方法會拋 異常

- 如果文件不存在,拋出 FileNotFoundError異常

"w" 表示只寫方式打開

- 如果 read 則拋出異常

- 如果文件不存在,則直接創(chuàng)建新空白文件

- 如果文件存在,則清空文件內(nèi)容

"x"表示只寫方式打開

- 如果文件不存在,創(chuàng)建文件,并只寫方式打開

- 如果文件存在,拋出 FileExistError異常

"a"表示只寫方式打開(常用)

- 文件不存在,創(chuàng)建文件,并只寫方式打開,追加內(nèi)容

- 文件存在,只寫方式打開,在后面追加內(nèi)容

r 是制度,wxa 都是只寫。wxa 都可以產(chǎn)生新文件,w不管文件存在與否,都會生成全新內(nèi)容的文件;a不管文件是否存在,都能在打開的文件的尾部追加;x必須要求文件實(shí)現(xiàn)不存在,自己造一個(gè)新文件


需要配合使用,不能單獨(dú)使用的功能:

"t" 文本模式--- 字符流 :(默認(rèn)字符流)

將文件的字節(jié)按照某種字符編碼理解,按照字符操作。open的默認(rèn)mode 就是 “rt”

"b" 二進(jìn)制模式  --- 字符流:

將文件按照字節(jié)理解,與字符編碼無關(guān)。二進(jìn)制模式操作時(shí),字節(jié)操作使用bytes類型

"+" 為 r,w,a,x 提供確實(shí)的讀或?qū)懝δ?,但是獲取文件對象依舊按照r、w、a、x自己的特征。 + 不能單獨(dú)使用


文件指針

文件指針:只想當(dāng)前字節(jié)位置

mode = r,指針起始在0

mode = a,指針起始在EOF

tell():顯示指針當(dāng)位置

seek(offset[,whence = 0]):移動(dòng)文件指針位置

seek是按照字節(jié)偏移的

offest 偏移多少字節(jié)

whence 從哪里開始(0,1,2 => 首,相對現(xiàn)在位置,尾)

1.字符流:whence  = 1,2    offest只能 = 0

  whence  = 0 offest >= 0

. 2.字節(jié)流:   whence = 1,2 offest  可正可負(fù),不能超左邊界

whence = 0 offest >= 0


buffering 緩沖區(qū)

-1 表示使用缺省大小的buffer。

如果是二進(jìn)制模式,使用io.EDFAULT_BUFFER_SIZE值,默認(rèn)是4096 或者 8192

如果是文本模式,如果是終端設(shè)備,

Python——文件IO常用操作

seek()調(diào)用會引起flush()

buffer 緩沖區(qū)

緩沖一個(gè)內(nèi)存空間,一般來說是一個(gè) FIFO隊(duì)列,當(dāng)緩沖區(qū)滿了或者達(dá)到閾值,數(shù)據(jù)才會flush到次磁盤

flush()將緩沖區(qū)數(shù)據(jù)寫入磁盤,close()關(guān)閉前會調(diào)用flush(),seek()調(diào)用會引起flush()

io.EDFAULT_BUFFER_SIZE缺省穿沖區(qū)大?。?096,8192)

enconding : 編碼,僅文本模式使用

None表示使用缺省編碼,依賴操作系統(tǒng)。windows 下缺省 GBK(0xB0A1),Linux 下缺省 UTF-8(0xE5 95 8A)

最好不用缺省,同意帶上utf-8


其它參數(shù)

errors

什么樣的編碼錯(cuò)誤將被捕獲, None和strict 表示有編碼錯(cuò)誤將拋出 valueError異常,ignore表示忽略

newline

文本模式中,換行的轉(zhuǎn)換??梢詾镹one、" "空串、"\r"、"\n"、"\r\n"

Python——文件IO常用操作

closedfd關(guān)閉文件描述符,True表示關(guān)閉它。False 會在文件關(guān)閉是保留它。

fileobjt.fileno()

0,標(biāo)準(zhǔn)輸入

1,標(biāo)準(zhǔn)輸出

2,標(biāo)準(zhǔn)錯(cuò)誤輸出

read

read(size=-1)

size 表示讀取的多少個(gè)字符或者字節(jié);負(fù)數(shù)或者None表示讀取到EOF

readline(size=-1)

一行行讀取文件內(nèi)容。size設(shè)置一次能讀取行內(nèi)幾個(gè)字符或者字節(jié)。

readlines(hint=-1) ->返回所有行的列表

讀取所有行的列表。指定hint則返回指定的行數(shù)

# 按行迭代

f = open("test") #返回可迭代對象

for line in f:

print(line)

f.close

write

write(s),把字符串s寫入到文件中并返回字符的個(gè)數(shù)

writelines(lines),將字符串列表寫入文件,lines 要元素是字符串的列表

close

flush 并關(guān)閉文件對象

文件已經(jīng)關(guān)閉,再次關(guān)閉沒有任何效果

其它

seekable() 是否可以seek

readable() 是否可讀

writeable() 是否可寫

closed 是否已經(jīng)關(guān)閉

上下文管理

1.使用with ... as : 關(guān)鍵字

2.上下文管理的語句塊并不會開啟新的作用域

3.with語句塊執(zhí)行完的時(shí)候,會自動(dòng)關(guān)閉文件對象。


網(wǎng)站欄目:Python——文件IO常用操作
文章鏈接:http://weahome.cn/article/iejhie.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部