python 文本處理操作


打開和關閉文件

open 函數

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

模式    描述
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字符串可以是二進制數據

# 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() 方法告訴你文件內的當前位置

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模塊

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

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

  

刪除文件

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

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

 
        

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)   向文件寫入一個序列字符串列表,如果需要換行則要自己加入每行的換行符。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM