一、檔案內建函式open()和 file()
作為開啟檔案之門的"鑰匙", 內建函式 open() [以及 file() ]提供了初始化輸入/輸出(i/o)
操作的通用介面。
open() 內建函式成功開啟檔案後時候會返回乙個檔案物件, 否則引發乙個錯誤. 當操作失敗, python 會產生乙個 ioerror 異常。
1、 open() 的基本語法是:
file_object =
open
(file_name, access_mode=
'r', buffering=-1
)
引數解釋:
引數含義
file_name
要開啟的檔案名字的字串, 它可以是相對路徑或者絕對路徑.
access_mode
也是乙個字串, 代表檔案開啟的模式
(可選引數)buffering
訪問檔案所採用的緩衝方式. 其中 0 表示不緩衝, 1表示只緩衝一行資料,
常用檔案物件訪問模式:
檔案模式操作r
以讀方式開啟(必須存在)
w以寫方式開啟 (必要時清空)
a以追加模式開啟 (從 eof 開始, 必要時建立新檔案)
r+、w+、a+
以讀寫模式開啟
2、file()
open() 和 file() 函式具有相同的功能, 可以任意替換。
二、檔案內建的方法
1、輸入
read() :方法用來直接讀取位元組到字串中, 最多讀取給定數目個位元組. 如果沒有給定 size
引數(預設值為 -1)或者 size 值為負, 檔案將被讀取直至末尾。
readline() :方法讀取開啟檔案的一行(讀取下個行結束符之前的所有位元組). 然後整行,包括行結束符,作為字串返回. 和 read() 相同, 它也有乙個可選的 size 引數, 預設為 -1, 代表讀至行結束符. 如果提供了該引數, 那麼在超過 size 個位元組後會返回不完整的行。
readlines() :
讀取所有(剩餘的)行然後把它們作為乙個字串列表返回。
2、輸出
write() :把含有文字資料或二進位制資料塊的字串寫入到檔案中去。
writelines() :方法是針對列表的操作, 它接受乙個字串列表作為引數 , 將它們寫入檔案 . 行結束符並不會被自動加入 , 所以如果需要的話 , 你必須在呼叫writelines()前給每行結尾加上行結束符.
3、移動seek()
在檔案中移動檔案指標到不同的位置。
位置的預設值為 0 , 代表從檔案開頭算起(即絕對偏移量), 1 代表從當前位置算起, 2 代表從檔案末尾算起.
seek(-12
,1)#從當前位置忘前移動12位
f.tell(
)#檢視當前位置
三、檔案系統
對檔案系統的訪問大多通過 python 的 os 模組實現。除了對程序和程序執行環境進行管理外, os 模組還負責處理大部分的檔案系統操作, 應用程式開發人員可能要經常用到這些. 這些功能包括刪除/重新命名檔案, 遍歷目錄樹, 以及管理檔案訪問許可權等。
os 模組的檔案/目錄訪問函式 :
函式 :檔案處理
描述remove()
刪除檔案
rename()
重新命名檔案
utime()
更新時間戳
chdir()
改變當前工作目錄
chroot()
改變當前程序的根目錄
mkdir()/makedirs()
建立目錄/建立多層目錄
rmdir()/removedirs()
刪除目錄/刪除多層目錄
access()
檢驗許可權模式
chmod()
改變許可權模式
umask()
設定預設許可權模式
Python檔案輸入輸出
本文以.txt檔案為例,說明python從.txt檔案中讀取內容和向.txt檔案寫入內容的方法。a.txt檔案內容 犬吠水聲中,桃花帶雨濃。樹深時見鹿,溪午不聞鐘。野竹分青靄,飛泉掛碧峰。無人知所去,愁倚兩三松。讀取檔案 open filename,mode open返回乙個檔案物件。第乙個引數是乙...
python 檔案輸入輸出
我們開啟乙個檔案,並使用乙個物件來表示該檔案 f open 檔名,模式 f open f.txt 文字形式 唯讀模式 預設值 f open f.txt rt 文字形式 唯讀模式 同預設值 f open f.txt w 文字形式 覆蓋寫模式 f open f.txt a 文字形式 追加寫模式 讀檔案 ...
Python 檔案和輸入輸出
1 內建函式open 的基本語法 file object open file name,access mode r buffering 1 buffering代表訪問檔案所使用的緩衝方式,其中0代表不緩衝,1表示只緩衝一行資料,任何其他大於1的值代表使用給定值作為緩衝區大小。不提供該引數或者給定負值...