python 文本處理操做

打開和關閉文件

open 函數

用Python內置的open()函數打開一個文件,建立一個file對象,相關的方法才能夠調用它進行讀寫 '''python

模式    描述
r    以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。
rb    以二進制格式打開一個文件用於只讀。文件指針將會放在文件的開頭。這是默認模式。
r+    打開一個文件用於讀寫。文件指針將會放在文件的開頭。
rb+    以二進制格式打開一個文件用於讀寫。文件指針將會放在文件的開頭。
w    打開一個文件只用於寫入。若是該文件已存在則將其覆蓋。若是該文件不存在,建立新文件。
wb    以二進制格式打開一個文件只用於寫入。若是該文件已存在則將其覆蓋。若是該文件不存在,建立新文件。
w+    打開一個文件用於讀寫。若是該文件已存在則將其覆蓋。若是該文件不存在,建立新文件。
wb+    以二進制格式打開一個文件用於讀寫。若是該文件已存在則將其覆蓋。若是該文件不存在,建立新文件。
a    打開一個文件用於追加。若是該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容以後。若是該文件不存在,建立新文件進行寫入。
ab    以二進制格式打開一個文件用於追加。若是該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容以後。若是該文件不存在,建立新文件進行寫入。
a+    打開一個文件用於讀寫。若是該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。若是該文件不存在,建立新文件用於讀寫。
ab+    以二進制格式打開一個文件用於追加。若是該文件已存在,文件指針將會放在文件的結尾。若是該文件不存在,建立新文件用於讀寫。
'''

 

open函數,建立一份files文件函數

# eg_v1
files = open("file.txt","w") # "w"
files.write("hello,welcome to python !!")   # 在file.txt文本內輸入內容
files.close()

  

文件讀取,read 方法

read()方法從一個打開的文件中讀取一個字符串。須要重點注意的是,Python字符串能夠是二進制數據spa

# eg_v2
files_v2 = open("file.txt","r")
print (files_v2.read(20))
files_v2.close()

# >>> hello,welcome to pyt  # 讀取20個字符
# read())   表示讀取所有內容
# readline( ) 表示逐行讀取

  

追加文件內容

# eg_v3
files_v3 = open("file.txt","a")
files_v3.write("\npython is very nice!!")
files_v3.close()

  

file 文件的屬性

# 屬性	描述
# file.closed	返回true若是文件已被關閉,不然返回false。
# file.mode	   返回被打開文件的訪問模式。
# file.name	   返回文件的名稱。
# file.softspace	若是用print輸出後,必須跟一個空格符,則返回false。不然返回true。
#eg_v4
print (files_v3.closed) # 檢查文件是否已經關閉
# >>> True
print (files_v3.mode)   # 返回被打開文件的訪問模式
# >>> a
print (files_v3.name)   # 返回文件的名稱。
# >>> file.txt

  

write 方法

files_v4 = open("file.txt","a")
files_v4.write("\nbut,Not easy to learn")
files_v4.close()

write()方法可將任何字符串寫入一個打開的文件。須要重點注意的是,Python字符串能夠是二進制數據 #write()方法不會在字符串的結尾添加換行符('\n')指針

 

文件定位

tell() 方法告訴你文件內的當前位置code

seek(offset [,from])方法改變當前文件的位置,Offset 變量表示要移動的字節數,From 變量指定開始移動字節的參考位置對象

files_v5 = open("file.txt","r")
files_v5.read(10)
print (files_v5.tell()) # 當前指針位置
# >>> 10

files_v5.seek(0,0)       # 將指針重定位
print (files_v5.tell()) # 當前指針位置
# >>> 0
files_v5.close()

  

文件重命名

文件重命名須要使用python的os模塊blog

rename() 方法,須要兩個參數,當前的文件名和新文件名。ip

#
import os
os.rename("file.txt","file001.txt")

  

刪除文件

#
import os
os.remove("file001.txt")

remove()方法.語法:os.remove(file_name)rem

 

file 文件對象經常使用的函數

# 序號	方法及描述
# 1 file.close()    關閉文件。關閉後文件不能再進行讀寫操做。
# 2 file.flush()    刷新文件內部緩衝,直接把內部緩衝區的數據馬上寫入文件, 而不是被動的等待輸出緩衝區寫入。
# 3 file.fileno()   返回一個整型的文件描述符(file descriptor FD 整型), 能夠用在如os模塊的read方法等一些底層操做上。
# 4 file.isatty()   若是文件鏈接到一個終端設備返回 True,不然返回 False。
# 5 file.next()     返回文件下一行。
# 6 file.read([size])   從文件讀取指定的字節數,若是未給定或爲負則讀取全部。
# 7 file.readline([size])   讀取整行,包括 "\n" 字符。
# 8 file.readlines([sizehint])  讀取全部行並返回列表,若給定sizeint>0,返回總和大約爲sizeint字節的行, 實際讀取值可能比sizhint較大, 由於須要填充緩衝區。
# 9 file.seek(offset[, whence]) 設置文件當前位置
# 10    file.tell() 返回文件當前位置。
# 11    file.truncate([size])   截取文件,截取的字節經過size指定,默認爲當前文件位置。
# 12    file.write(str) 將字符串寫入文件,沒有返回值。
# 13    file.writelines(sequence)   向文件寫入一個序列字符串列表,若是須要換行則要本身加入每行的換行符。
相關文章
相關標籤/搜索