Python file類型正確應(yīng)用方式詳解
Python編程語言雖然是一款比較容易上手的計(jì)算機(jī)應(yīng)用語言,但是在實(shí)際學(xué)習(xí)中,還是需要初學(xué)者們熟練的掌握那些基礎(chǔ)知識(shí),才能很好的操作這一語言。比如今天我們?yōu)榇蠹規(guī)淼囊粋€(gè)比較基礎(chǔ)的知識(shí)點(diǎn),有關(guān)Python file類型的應(yīng)用方法。#t#
Python file類型在Python是一個(gè)特殊的類型,它用于在Python程序中對(duì)外部的文件進(jìn)行操作。在Python中一切都是對(duì)象,file也不例外,file有file的方法和屬性。下面先來看如何創(chuàng)建一個(gè)file對(duì)象:
* file(name[, mode[, buffering]])
file()函數(shù)用于創(chuàng)建一個(gè)file對(duì)象,它有一個(gè)v別名叫open(),可能更形象一些,它們是內(nèi)置函數(shù)。來看看它的參數(shù)。它參數(shù)都是以字符串的形式傳遞的。name是文件的名字。
mode 是打開的模式,可選的值為r w a U,分別代表讀(默認(rèn)) 寫 添加支持各種換行符的模式。用w或a模式打開文件的話,如果文件不存在,那么就自動(dòng)創(chuàng)建。此外,用w模式打開一個(gè)已經(jīng)存在的文件時(shí),原有文件的內(nèi)容會(huì)被清 空,因?yàn)橐婚_始文件的操作的標(biāo)記是在文件的開頭的,這時(shí)候進(jìn)行寫操作,無疑會(huì)把原有的內(nèi)容給抹掉。
由于歷史的原因,換行符在不同的系統(tǒng)中有不同模式,比如 在 unix中是一個(gè)\n,而在windows中是‘\r\n’,用U模式打開文件,就是支持所有的換行模式,也就說‘\r’ '\n' '\r\n'都可表示換行,會(huì)有一個(gè)tuple用來存貯這個(gè)文件中用到過的換行符。不過,雖說換行有多種模式,讀到Python中統(tǒng)一用\n代替。在模式 字符的后面,還可以加上+ b t這兩種標(biāo)識(shí),分別表示可以對(duì)文件同時(shí)進(jìn)行讀寫操作和用二進(jìn)制模式、文本模式(默認(rèn))打開文件。
buffering如果為0表示不進(jìn)行緩沖;如果為1表示進(jìn)行“行緩沖“;如果是一個(gè)大于1的數(shù)表示緩沖區(qū)的大小,應(yīng)該是以字節(jié)為單位的。
Python file類型對(duì)象有自己的屬性和方法。先來看看file的屬性。
* closed #標(biāo)記文件是否已經(jīng)關(guān)閉,由close()改寫
* encoding #文件編碼
* mode #打開模式
* name #文件名
* newlines #文件中用到的換行模式,是一個(gè)tuple
* softspace #boolean型,一般為0,據(jù)說用于print
Python file類型的讀寫方法:
* F.read([size]) #size為讀取的長度,以byte為單位
* F.readline([size])
#讀一行,如果定義了size,有可能返回的只是一行的一部分
* F.readlines([size])
#把文件每一行作為一個(gè)list的一個(gè)成員,并返回這個(gè)list。其實(shí)它的內(nèi)部是通過循環(huán)調(diào)用readline()來實(shí)現(xiàn)的。如果提供size參數(shù),size是表示讀取內(nèi)容的總長,也就是說可能只讀到文件的一部分。
* F.write(str)
#把str寫到文件中,write()并不會(huì)在str后加上一個(gè)換行符
* F.writelines(seq)
#把seq的內(nèi)容全部寫到文件中。這個(gè)函數(shù)也只是忠實(shí)地寫入,不會(huì)在每行后面加上任何東西。
以上就是我們對(duì)Python file類型的相關(guān)介紹。