Python基礎學習筆記(六)

介紹Python語言的文件操作

一、文件處理
1、python中的文件是對象。
2、文件的打開方式:open(“文件名”,“打開方式”)
3、讀取方式:
(1)、read(size):讀取文件(讀取size個字節大小,如果不設定,則默認讀取全部),輸出的格式爲字符串。可以使用json函數進行轉換。
(2)、readline(size):讀取文件中的一行。
如果len(line)>size,則return size;
如果len(line)<size,則return line;
(3)、readlines(size):讀完整個文件(其實最多爲緩衝區buffering個字節),返回值爲每一行組成的列表。
(4)、使用迭代器讀取,需要將文件強制轉換爲迭代器。
4、寫入方式:
(1)、write(line):將字符串寫入文件。
(2)、writelines(sequence_of_string):寫入多行到文件中,參數爲可迭代的對象。
5、直接寫入磁盤
(1)、前因:由於Linux中自身有緩存寫入,因此寫入的字符串會先存在於緩衝區中,其後進一步寫入磁盤中。
(2)、寫入方法:
一種是主動調用close函數或者使用flush方法(文件名.flush),實現同步;另一種是寫入的內容較多,等於或大於寫緩存時實現同步。
6、及時關閉文件的原因
(1)、將寫緩存的內容同步到磁盤。
(2)、Linux系統中每個進程打開的文件個數有限。如果打開的文件數到了系統的限制,將會無法打開新文件。
7、Python寫入和讀取問題
(1)、寫入文件後,必須打開才能讀取到寫入的內容。
(2)、讀取文件後,無法重新再次讀取讀過的內容。
8、對文件進行指針操作
(1)、方法
導入os模塊,調用seek函數,一般形式爲:seek(offset,whence)
其中,offset爲偏移量,可以時一個負值,當偏移量超過文件的字節數時,會報錯;whence爲相對偏移位置。
(2)、相對偏移位置
os.SEEK_SET:相對文件起始位置,數值爲0;
os.SEKK_CUR:相對文件當前位置,數值爲1;
os.SEEK_END:相對文件結尾位置,數值爲2;
9、文件對象屬性
(1)、文件名.fileno():文件描述符
(2)、文件名.mode:文件打開權限
(3)、文件名.encoding:文件編碼格式
(4)、文件名.closed:文件是否關閉
10、導入sys模塊的標準文件
(1)、標準輸入:sys.stdin
(2)、標準輸出:sys.stdout
(3)、標準錯誤:sys.stderr
11、文件命令行參數
sys模塊提供sys.argv(字符串組成的列表)屬性,通過該屬性可以得到命令行參數。
12、使用codes模塊提供方法創建指定編碼格式文件。
13、使用os模塊進行文件和目錄操作
(1)、打開文件
一般形式爲os.open(filename,flag,mode)
flag爲打開文件的方式,它包括:
os.O_CREAT:創建文件
os.O_RDONLY:對文件進行只讀操作
os.O_WRONLY:對文件進行只寫操作
os.O_RDWR:對文件進行讀寫操作
(2)、os模塊下的一些其他操作
os.read(fd,buffersize):對文件進行內容讀取
os.write(fd,string):對文件進行內容寫入
os.lseek(fd,pos,how):對文件進行指針操作,方法類似於之前
os.close(fd):關閉文件
其中,fd爲文件描述符。例如:fd = open(“imooc.txt”,”r”)。

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