使用 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函式關閉開啟的檔案控制代碼 ...