python 檔案操作

2022-04-16 19:04:03 字數 3071 閱讀 3178

檔案操作基本循的方式首先需要檔案路徑,其次對於檔案的編碼方式進行選擇,最後執行操作。

檔案操作:

1.檔案路徑:

絕對路徑:將檔案的全部路徑完全輸入,從而查詢到檔案

相對路徑:在當前目錄下開啟,或查詢檔案

f = open('c:\你好.txt', mode='r',encoding= 'utf-8')

s = f.read()

print(s)

f.close()

#絕對路徑查詢

f = open('你好.txt', mode='r',encoding= 'utf-8')

s = f.read()

print(s)

f.close()

#相對路徑查詢,注意需要在和檔案在相同的目錄下才能查詢到.

2.編碼方式:

基本的編碼方式,utf-8,gbk等

在開啟檔案之前需要確定檔案的編碼方式是什麼,因此用encoding = 『』來確認編碼方式。

3.操作方法:

有唯讀  『r』,讀寫『r+』,寫讀『w+』,只寫『w』

檔案格式:

f == 變數,表示問乙個檔案控制代碼,代表乙個檔案的開頭。

open是windows自帶的系統功能,python呼叫開啟檔案,

並且windows的預設編碼方式為『gbk』,不輸入encoding時會自動使用『gbk』編碼

liunx預設的編碼方式為utf-8

結尾務必帶上f.close()

#檔案流程:開啟檔案--------產生檔案控制代碼------對檔案進行操作-------關閉檔案

檔案的讀寫:

1.讀:

『r』,唯讀模式,讀的方式有五種:

'r+' 讀寫模式,讀取之後在進入寫入模式,並且游標隨著讀而移動

1.全部讀出來:  f.read()------佔記憶體 

f = open('c:\你好.txt', mode='r',encoding= 'utf-8')

s = f.read() #全部讀取

print(s)

f.close()

2.一行一行讀取:  f.readline() ------ 效率不太高

f = open('c:\你好.txt', mode='r',encoding= 'utf-8')#需要在c盤建立乙個檔案

s = f.readline()

print(s)

print(s)

print(s)

print(s)

f.close()

3.將原檔案的每一行作為乙個列表的元素輸出---------太佔記憶體

f = open('c:\你好.txt', mode='r',encoding= 'utf-8')

s = f.readlines() #變成列表輸出,每個元素都有\n在末尾

print(s)

f.close()

4.按照字元去讀,在『r』模式下,但是在『rb『模式下會按照位元組的模式來讀取

f = open('c:\你好.txt', mode='r',encoding= 'utf-8')

s = f.read(5)# 取出前五個自字元

print(s)#替換掉他! #符號也算。

f.close()

f = open('c:\你好.txt', mode='rb')#調整為rb模式的時候編碼方式改變,用bytes型別讀取,利用二進位制解碼,所以不需要編碼。

s = f.read(5)# 取出前五個自字元

print(s)#'\xe6\x9b\xbf\xe6\x8d'

f.close()

5.迴圈讀取,讀一行刪一行,只占用一行記憶體。

('c:\你好.txt', mode='r',encoding= 'utf-8')

for i in f:

print(i)

f.close()

2.寫』w『 只寫入

1.沒有檔案則會建立 乙個新的檔案,並寫入內容。

2.有檔案的時候,將原檔案內容清空並寫入內容。

』w+『先寫入然後讀取,寫讀,需要注意的是游標的移動問題。

』w+b『寫讀,只是使用的是二進位制的當時寫讀,並且能夠處理等各種其他格式的檔案。

3.追加

』a『 只追加寫模式,不可讀;不存在則建立;存在則只追加內容,

'a+'追加寫讀模式,先追加寫入後再讀取。

』a+b『追加寫度模式,並且使用二進位制

4.游標問題:

在檔案中寫入內容時候,寫入的地點由游標決定,

f.tell() == 顯示游標的位置#按照位元組顯示

f.seek()== 更改游標的位置,按照位元組更改! 

5.其他方法:

truncate方法:截斷資料,僅保留指定之前資料 

writetable:判斷檔案是否可以寫入

readtable : 判斷問價是否可以讀取

6.關閉問題:

f.close()是在記憶體中關閉檔案,有一定可能殘留在應用程式裡面,

del f  是在程式中刪除,完全清空。

7.with open()as f:

1.避免忘記關閉檔案,此程式自動關閉。

2.一次性操作多個檔案控制代碼

8#######重點!!

所有輸入的底層原理。

1.將原檔案讀取到記憶體

2.在記憶體中進行修改,形成新的字串檔案。

3.將新的字串寫入新檔案

4.將原始檔刪除

5.將新檔案重新命名成原檔案。

import os

with open('你的名字',encoding = 'utf-8') as f1,\

open('你的名字.fuzhi',encoding = 'utf-8',mode ='w') as f2:

s = f1.read()

f2.write(s.resplace('你好','hello'))

os.remove('你的名字')

os.rename('你的名字.fuzhi','你的名字')

python 檔案操作

簡明 python 教程 中的例子,python 執行出錯,用open代替file 可以執行。poem programming is fun when the work is done if you wanna make your work also fun use python f open e ...

python檔案操作

1,將乙個路徑名分解為目錄名和檔名兩部分 a,b os.path.split c 123 456 test.txt print a print b 顯示 c 123 456 test.txt 2,分解檔名的副檔名 a,b os.path.splitext c 123 456 test.txt pri...

Python 檔案操作

1.開啟檔案 如下 f open d test.txt w 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只寫 如果檔案 不存在,則自動建立檔案 a 附加到檔案末尾 r 讀寫 如果需要以二進位制方式開啟檔案,需要在mode後面加上...