Python操作檔案的讀寫

2021-10-10 16:23:16 字數 4503 閱讀 8606

使用 with open 方法,使用此方法不需要關閉檔案,with open 結束自動關閉

#with open("路徑","讀寫方式"[,"編碼方式","錯誤處理方式"]) as "檔案物件":

# 讀寫檔案的**塊

#例如:

with

open

(path,

"r",encoding=

'utf-8'

,errors =

"ignore"

)as file:

open 函式,注意:使用此函式需要手動新增關閉檔案的**,不然內容無法儲存

"檔案物件"

=open

("路徑"

,"讀寫方式"[,

"編碼方式"

,"錯誤處理方式"])

#例如:

readfile1 =

open

(path,

"r",encoding=

"utf-8"

,ignore =

"ignore"

)

使用絕對路徑,即以碟符為根目錄,找到檔案存放路徑,最後加上檔名

#例如:d:\test\mypython\selfstudy\qianfeng_teach\file

path = r'd:\test\mypython\selfstudy\qianfeng_teach\file\test.txt'

使用相對路徑,即以當前**存放目錄為根目錄,找到檔案存放路徑,最後加上檔名

path =

'test.txt'

讀寫關鍵字

讀寫方式描述

r以唯讀的方式開啟檔案,檔案的描述放在檔案的開頭

rb以二進位制唯讀方式開啟檔案

r+以讀和寫的方式開啟檔案

w以覆蓋寫的方式開啟檔案

wb以二進位制覆蓋寫的方式開啟檔案

w+以讀和覆蓋寫的方式開啟檔案

a以繼續編輯的方式開啟檔案

a+以讀和繼續編輯的方式開啟檔案

讀檔案的方法:

# -*- coding: utf-8 -*-

import time

import pickle

# 讀取檔案的所有內容

readfile =

open

(path,

"r",encoding=

'utf-8'

)str1 = readfile.read(

)print

("str1 ="

,str1)

readfile.close(

)# 讀取指定字串

readfile1 =

open

(path,

"r",encoding=

"utf-8"

)str2 = readfile1.read(2)

print

("str2 ="

,str2)

str3 = readfile1.read(2)

print

("str3 ="

,str3)

readfile1.close(

)# 讀取整行內容

readfile2 =

open

(path,

"r",encoding=

'utf-8'

)str4 = readfile2.readline(

)print

("str4 ="

,"**"

+str4+

"**"

)# 讀取指定字元數

str5 = readfile2.readline(3)

print

("str5 ="

,"**"

+str5+

"**"

)# 讀取指定字串,並返回列表,給定的數字大於0,返回實際size位元組的行數

str6 = readfile2.readlines(4)

print

("str6 ="

,str6)

# 讀取所有行,並返回列表

str7 = readfile2.readlines(

)print

("str7 ="

,str7)

# 修改描述符的位置

readfile2.seek(0)

str8 = readfile2.read(

)print

("str8 ="

,str8)

readfile2.close(

)with

open

(path,

"r",encoding=

'utf-8'

)as file:

str9 = file.read(

)print

("str9 ="

,str9)

需要中文處理,常用為utf-8,gbk

ignore,如果設定為ignore,則會忽略非法字元;

with

open

("testcode.txt"

,"w"

,encoding=

"utf-8"

,errors=

"ignore"

)as testcodefile:

testcodefile.write(

"測試中文"

)with

open

("testcode.txt"

,"r"

,encoding=

"gbk"

,errors=

"ignore"

)as testcodefile:

readfile = testcodefile.read(

)print

("readfile ="

,readfile)

>>

>readfile = 嫻嬭瘯涓鏂

replace,如果設定為replace,則會用空格取代非法字元;

with

open

("testcode.txt"

,"w"

,encoding=

"utf-8"

,errors=

"ignore"

)as testcodefile:

testcodefile.write(

"測試中文"

)with

open

("testcode.txt"

,"r"

,encoding=

"gbk"

,errors=

"replace"

)as testcodefile:

readfile = testcodefile.read(

)print

("readfile ="

,readfile)

>>

>readfile =

import pickle

# dict,list,dict,set,tuple等格式寫入檔案

mydict =

dictfile =

open

("dictfile.txt"

,'wb'

)pickle.dump(mydict,dictfile)

dictfile.close(

)with

open

("dictfile.txt"

,"rb"

)as dictfile:

tmplist = pickle.load(dictfile)

print

("tmplist ="

,tmplist)

>>

>tmplist =

path = r"test.txt"

file =

open

(path,

"w",encoding=

"utf-8"

,errors=

"ignore"

)str

="""鋤禾日當午,

汗滴禾下土。

誰知盤中餐,

粒粒皆辛苦。

"""i =

1while

true

:# 將資料寫入緩衝區

file.write(

str)

# 重新整理緩衝區

# 直接把內部緩衝區的資料立刻寫入檔案,而不是被動的等待自動重新整理緩衝區寫入

file.flush(

) time.sleep(1)

i +=

1if i >3:

break

# 關閉檔案就是自動重新整理緩衝區的方式

file.close(

)

Python操作檔案讀寫

import csv from pdfminer.converter import pdfpageaggregator from pdfminer.layout import laparams from pdfminer.pdfparser import pdfparser,pdfdocument ...

python 操作檔案 檔案讀寫

python進行檔案讀寫的函式是open或file file handler open filename,mode table mode 模式 描述 r以讀方式開啟檔案,可讀取檔案資訊。w以寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空該檔案,再寫入新內容 a以追加模式開啟檔案 即一開啟檔案,...

檔案操作 檔案讀寫

檔案讀寫實質也是呼叫api函式,微軟給我們提供了強大的檔案讀寫程式設計介面。讀寫的一般步驟是 1.呼叫createfile函式開啟或者建立檔案,返回檔案控制代碼 2.利用檔案控制代碼呼叫writefile或readfile函式寫入或讀取檔案 3.呼叫closehandle函式關閉開啟的檔案控制代碼 ...