r:讀模式,開啟檔案時,如果沒有指定方式,預設為讀模式
w:寫模式,會清除之前的內容,再寫
a:追加寫模式
r+:讀寫模式
w+:寫讀模式,預設開啟的時候,會將檔案清空,且檔案指標在檔案開頭的位置
a+:追加寫和讀模式,預設開啟的時候,檔案指標在最後的位置
f.read(
)#一次讀出檔案的所有內容,讀出來的檔案是放在記憶體中的,讀大檔案的時候,盡量使用readline函式
f.readline(
)f.readlines(
)#一次讀出檔案的所有內容
f.write(
)# 一次寫入一行
f.writelines(
)# 一次寫入多行
f.tell(
)#獲取當前檔案指標的位置
f.seek(
)#設定檔案指標的位置
f.flush(
)#重新整理緩衝區,直接寫到磁碟裡面,有時候寫入後,在檔案中沒有看見內容時,可以使用該方法
f =
open
('filename.txt'
,encoding=
'utf-8'
)for line in f:
print
("讀取檔案中的每一行:",line)
1、直接在原檔案進行修改
f =
open
('wenjian.txt'
,'a+'
,encoding=
"utf-8"
)# 因為後面需要在原檔案中寫入內容,所以使用a+模式
f.seek(0)
# 將指標位置移到最前面
result = f.read(
)# 一次性讀出檔案中的所有內容
new_result = result.replace(
"s",
"s")
# 將檔案中的內容進行修改
f.seek(0)
# 指標移到最前面
f.truncate(
)# 清空檔案內容
f.write(new_result)
# 將內容重新寫入檔案
f.close(
)
2、乙個檔案讀,另乙個檔案寫,最後刪除第乙個檔案,將第二個檔案進行重新命名
import os
f =open
('wenjian.txt'
,'a+'
,encoding=
"utf-8"
)f2 =
open
('wenjian2.txt'
,'a+'
,encoding=
"utf-8"
)f.seek(0)
for line in f:
result = line.replace(
"s1"
,"00"
)# 將wenjian.txt中的內容讀出來,每行進行替換後,寫入另乙個檔案
f2.write(result)
f.close(
)f2.close(
)os.remove(
"wenjian.txt"
)# 刪除wenjian.txt
os.rename(
"wenjian2.txt"
,"wenjian.txt"
)# 將wenjian2.txt重新命名為wenjian.txt
1、開啟檔案後,不需要手動進行關閉檔案
with
open
('filename.txt'
,'a'
)as f:
2、同時開啟多個檔案
with
open
('filename1.txt'
,'a'
)as f1,
open
('filename2.txt'
,'a'
)as f2:
json模組是內部庫,不需要安裝,可直接匯入使用
1、字串處理
dumps:將dict轉為str串,主要是用於將內容寫入檔案前進行轉化,indent引數是指定縮排數量,ensure_ascii引數是設定對中文是否使用ascii方式進行編碼,預設是true,如果想正確顯示出中文,該引數需要設定為false
loads:將str轉為dict,主要是用於從檔案中讀取json後,運算元據時使用
**片段如下:
import json
with
open
('a.json'
,'a+'
,encoding=
'utf-8'
)as f:
info =
f.write(json.dumps(info,indent=
4,ensure_ascii=
false))
# dumps:將dict轉為str串
f.seek(0)
result = json.loads(f.read())
# loads:將str轉為dict
2、檔案處理
dump和load可直接對檔案進行操作,一行**就可搞定
dump:直接將dict轉為str後,寫入檔案
load:直接將檔案中的內容讀出來,並轉為dict
**片段如下:
with
open
('a.json'
,'a+'
,encoding=
'utf-8'
)as f:
info =
json.dump(info,f,indent=
4,ensure_ascii=
false
) f.seek(0)
read_result = json.load(f)
1、敏感詞替換
乙個檔案中放著敏感詞,需要將讀到文字中的敏感詞用**替換
思路:(1)將需要替換的敏感詞讀出來放在列表中
(2)將文字內容讀出來,並迴圈敏感詞列表,替換各敏感詞
(3)清空原檔案的內容,並寫入新內容
keywords =
with
open
('sensitivewords.txt'
, encoding=
'utf-8'
)as keyword_file:
for line in keyword_file:))
print
(keywords)
with
open
('text.txt'
,'a+'
, encoding=
'utf-8'
)as f:
f.seek(0)
result = f.read(
)for s in keywords:
result = result.replace(s,
"**"
) f.seek(0)
# 注意該步必不可少,檔案讀完後,指標在最後面,truncate函式清空的指標後面的內容
f.truncate(
) f.write(result)
python基礎 檔案讀寫
1.讀寫方式 f open text r encoding utf 8 2.寫讀方式 f open text w encoding utf 8 3.追加方式 f open text a encoding utf 8 4.讀方式 f open text r encoding utf 8 5.寫方式 f...
python基礎 讀寫檔案
import os print os.getcwd import os os.chdir 你想要的路徑 import os os.makedirs 你想要的檔案目錄 import os print os.path.abspath demo import os print os.path.isabs ...
python檔案讀寫(基礎)
1.開啟檔案 讀寫檔案是常見的io操作,python內建了讀寫檔案的函式,方便了檔案的io操作。檔案讀寫之前需要開啟檔案,確定檔案的讀寫模式。open函式用來開啟檔案,語法如下 open name,mode,buffering open函式使用乙個檔名作為唯一的強制引數,然後返回乙個檔案物件。模式 ...