python基礎(13) 檔案

2021-10-01 16:04:25 字數 3807 閱讀 6877

檔案的基本方法

可使用函式open,它位於自動匯入的模組io中。

# 1.open函式將檔名作為唯一必不可少的引數,返回乙個可讀取的檔案物件

>>

>

open

("a.py"

)'a.py' mode=

'r' encoding=

'cp936'

>

# 2.如果要寫入檔案,必須通過指定模式來顯式地指出這一點

# 3.若不存在該檔案,則會產生如下錯誤

>>

> f=

open

("b.py"

) traceback (most recent call last)

: file ""

, line 1,in

filenotfounderror:

[errno 2

] no such file

or directory:

'b.py'

mode值

描述說明

『r』讀取模式(預設值)

顯式地指定讀取模式的效果與根本不指定模式相同。

『w』寫入模式

能夠寫入檔案,並在檔案不存在時建立它;

在寫入模式下開啟檔案時,原有內容將被刪除,從檔案開頭處開始寫入

『x』獨佔寫入模式

在檔案已存在時引發fileexistserror異常。

『a』附加模式

如果要在既有檔案末尾繼續寫入,可使用附加模式

『b』二進位制模式(與其他模式結合使用)

如果檔案包含非文字的二進位制資料,如聲音剪輯片段或影象,需使用二進位制模式(如』rb』)來禁用與文字相關的功能。

『t』文字模式(預設值,與其他模式結合使用)

預設模式為』rt』,把檔案視為經過編碼的unicode文字,將自動執行解碼和編碼,且預設使用utf-8編碼。要指定其他編碼和unicode錯誤處理策略,可使用關鍵字引數encodingerrors

『+』讀寫模式(與其他模式結合使用),既可讀取也可寫入

'r+'和』w+'都有讀寫功能:

『r+』:從頭開始覆蓋原有內容(可能會保留部分)

『w+』:刪除原有內容,重新開始寫入

# 1.'x':獨佔寫入模式

# 1) 在檔案已存在時,引發fileexistserror異常

>>

> f=

open

('a.py'

,'x'

)traceback (most recent call last)

: file ""

, line 1,in

fileexistserror:

[errno 17

] file exists:

'a.py'

# 2)在檔案不存在的時候,正常執行

>>

> f=

open

('b.py'

,'x'

)>>

> f.write(

"test")4

# 返回寫入字串的長度

>>

> f.close(

)# 2.讀寫模式:r+與w+

>>

> f=

open

('b.py'

,'r+'

)>>

> f.write(

"aaa")3

>>

> f.write(

"bbb")3

>>

> f.close(

)#關閉後,才寫入檔案內容:test-> aaabbb

>>

> f=

open

('b.py'

,'r+'

)>>

> f.write(

"cccc"

)#檔案內容:aaabbb -> ccccbb

4>>

> f.close(

)>>

> f=

open

('b.py'

,'w+'

)>>

> f.write(

'aa'

)#檔案內容:ccccbb -> aa

2>>

> f.close(

)

(參見前面的內容)

隨機訪問

seek(offset[, whence]):將當前位置(執行讀取或寫入的位置)移到 offset 和whence 指定的地方。

>>

> f =

open

(r'c:\text\somefile.txt'

,'w'

)>>

> f.write(

'01234567890123456789')20

>>

> f.seek(5)

5>>

> f.write(

'hello, world!')13

>>

> f.close(

)>>

> f =

open

(r'c:\text\somefile.txt'

)>>

> f.read(

)'01234hello, world!89'

# 方法 tell()返回當前位於檔案的什麼位置,如下例所示:

window 命令列直譯器cmd:

f:\study\work\code>

type b.txt | python somescript.py |

sort

wordcount: 2 # 輸出結果

#description:

# 1.type somefile.txt:將檔案somefile.txt的內容寫入到標準輸出(sys.stdout)。

# 2.python somescript.py:執行python指令碼somescript。這個指令碼從其標準輸入中讀取,並將結果寫入到標準輸出。

# 3.sort:讀取標準輸入(sys.stdin)中的所有文字,將各行按字母順序排序,並將結果寫入到標準輸出。

管道字元("|"):管道將乙個命令的標準輸出鏈結到下乙個命令的標準輸入。即:somescript.py從其sys.stdin中讀取資料(這些資料是somefile.txt寫入的),並將結果寫入到其sys.stdout(sort

將從這裡獲取資料)。

[參考文件 ]

Python基礎語法13 檔案讀寫

讀寫檔案 在python中有內建的讀寫檔案的函式。在現代的作業系統中,系統是不允許普通的程式直接訪問我們的磁碟,但是有時候我們需要檔案讀寫的操作,這時候我們就需要傳送乙個請求 給我們的作業系統,作業系統會給我們返回乙個檔案物件,然後,通過 作業系統提供的介面來將資料寫入磁碟或者是從磁碟讀出資料。讀取...

python13檔案 13 Python 檔案

概述 嚴格講,檔案不屬於資料型別。02操作 1 開啟檔案 1 基本語法 file open 檔名 mode 引數mode模式可選引數,分為 r讀 w寫 a追加 r w a後面可接第二個引數,b標書二進位制,f open data.bin rb 2 完整語法格式為 open file,mode r b...

python 物件導向 13 檔案

檔案的作用 將資料長期儲存下來,在需要的時候使用 cpu記憶體 硬碟 文字檔案和二進位制檔案 二進位制檔案 在計算機中要操作檔案的套路非常固定,一共包含三個步驟 開啟檔案 讀 寫檔案 關閉檔案 序號函式 方法 說明01 open 開啟檔案,並且返回檔案操作物件 02read 將檔案內容讀取到記憶體 ...