1. 程式人生 > 程式設計 >python檔案操作的簡單方法總結

python檔案操作的簡單方法總結

檔案操作1

#檔案操作流程:1、開啟檔案,得到一個檔案控制代碼;通過檔案控制代碼操作檔案;關閉檔案。
#將檔案開啟檔案賦給file1,test_file為檔名,utf-8為檔案編碼;file1是檔案的全量內容
data1 = open("test_file",encoding="utf-8").read()
print(data1)
#開啟檔案,獲取檔案控制代碼file2,後續通過file2這個檔案控制代碼對檔案進行各種操作方法,預設檔案以只讀模式開啟,只讀時不能對檔案進行寫操作
file2 = open("test_file","r",encoding="utf-8")
#一次將檔案內容全部讀取
date2 = file2.read()
#"w"是以寫模式開啟檔案,此模式會先清空檔案內容,此時不能對檔案進行讀操作
file3 = open("test_file3","w",encoding="utf-8")
file3.write("file3 檔案寫\n")
#"a"是檔案追加寫模式,此時從檔案末尾追加往後面寫
file4 = open("test_file","a",encoding="utf-8")
file4.write("file4 檔案追加寫")
#逐行讀檔案,readline()或直接對檔案控制代碼進行迭代
file5 = open("test_file",encoding="utf-8")
for i in range(5):
  print(file5.readline())
#下面將檔案控制代碼直接進行迭代,檔案控制代碼也是迭代器
for line in file5:
  print(line)

檔案操作2

#返回當前檔案操作的位置資訊,返回的是字元的數量
print(file5.tell())
#手工移動檔案操作的當前位置,位置資訊為seek的實參
file5.seek(10)
#輸出檔案當前編碼,即開啟時使用的編碼
print(file5.encoding)
#輸出檔名稱
print(file5.name)
#判斷檔案是否可讀,返回布林型別,與檔案開啟時指定的開啟模式相關
print(file5.readable())
#判斷檔案是否可寫,返回布林型別,與檔案開啟時指定的開啟模式相關
print(file5.writable())
#將檔案寫的內容強制刷到硬碟
file5.flush()
#判斷檔案是否關閉,返回布林型別
print(file5.closed)
#預設清空檔案內容,傳遞實參的話就是從檔案開頭截斷多少字元,總是從檔案開頭開始截斷,不論當前檔案讀寫所處的位置
#file5.truncate()
#檔案讀寫模式“r+”,讀是從檔案開頭讀,寫是從檔案末尾往後寫,操作檔案位置指標是讀的位置,只能繼續往檔案後面追加寫
#檔案寫讀模式“w+”,先建立新檔案然後寫,寫了以後可以讀。操作檔案位置指標是讀的位置,只能繼續往檔案後面追加寫
#以二進位制讀取檔案“rb”,開啟檔案時沒有encoding這個引數
file6 = open("binary_file","wb")
#二進位制模式開啟檔案向寫入時需要將字串轉換為二進位制,否則寫報錯
file6.write("binary file".encode(encoding="utf-8"))
#檔案的修改
#方法1將檔案一次全部讀取在使用replace,將這個檔案修改後的值返回,不修改原檔案
data4 = open("test_file4",encoding="utf-8").read()
print(data4.replace("789","7788991010",2))
print(data4)
#方法2逐行讀取做判斷,寫入到一個新檔案
file7 = open("test_file4",encoding="utf-8")
file8 = open("test_file4_new",encoding="utf-8")
for line in file7:
  if "789" in line:
    line = line.replace("789","7788991010")
  file8.write(line)
file7.close()
file8.close()

知識點擴充套件:

print("->檔案控制代碼的獲取,讀操作:")

f = open('無題','r',encoding='utf8')
d = f.read()
f.close()
print(d)

print('->例二:')
f = open('無題',encoding='utf8')
e = f.read(9)
f.close()
print(e)
#python3中,檔案中一箇中英文都佔位1

執行結果:

複製程式碼

->檔案控制代碼的獲取,讀操作:
昨夜星辰昨夜風
畫樓西畔桂堂東
身無綵鳳雙飛翼
心有靈犀一點通
->例二:
昨夜星辰昨夜風
畫

以上方法很簡單,感謝大家的學習和對我們的支援。