python基礎 檔案讀寫與json模組的使用

2021-10-04 13:38:14 字數 3857 閱讀 6207

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函式使用乙個檔名作為唯一的強制引數,然後返回乙個檔案物件。模式 ...