Python 文件操作實(shí)現(xiàn)代碼
更新時(shí)間:2009年10月07日 00:44:43 作者:
文件操作是程序設(shè)計(jì)中不可或缺的重要部分。Python通過一個(gè)內(nèi)置函數(shù)open來打開文件。
open(filename,mode,buffer)
其中第一個(gè)參數(shù)是要打開的文件的文件名,必選;第二個(gè)是打開方式,可選;第三個(gè)為緩沖區(qū),可選。默認(rèn)情況下是以“讀”模式打開文件。該函數(shù)返回的是流類型對象。
mode有如下幾種:
r:讀模式(默認(rèn)值)
w:寫模式
a:追加寫模式
b:二進(jìn)制模式
t:文本模式(默認(rèn)值)
+:更新已有硬盤文件(讀和寫模式)
U:通用換行模式(Universal new line mode)
如果到打開的文件不存在或者其他問題,會(huì)跑出IOError異常。
常用的文件對象屬性:
mode:文件打開模式
name:打開的文件名稱
closed:文件是否關(guān)閉
常用的文件對象方法有:
tell():獲取在當(dāng)前文件中,目前所處的位置。起始值為0.
seek(position,mode):在當(dāng)前文件中移動(dòng)。其中第一個(gè)參數(shù)是要移動(dòng)的距離,第二個(gè)參數(shù)是模式:0表示移動(dòng)絕對位置,相對于文件頭而言;1表示移動(dòng)相對位置,就當(dāng)前位置而言;2表示相對于文件尾的位置。
read(max_byte_num):從文件中讀取字節(jié)。max_byte_number為可選參數(shù),表示讀取的最大字節(jié)數(shù)。如果不選,默認(rèn)為讀取到文件尾。讀取后,當(dāng)前位置會(huì)發(fā)生變化,即增加讀取的字節(jié)數(shù)。
readline():一次讀取文件的一行。
write(content):向文件中寫數(shù)據(jù)。content為要寫入的內(nèi)容。
close():關(guān)閉文件
一個(gè)文件讀寫的例子:
try:
f = open('d:/hello_python.txt','w')
f.write('hello my friend python!')
except IOError:
print('IOError')
finally:
f.close()
try:
f = open('d:\hello_python.txt','r')
print(f.read())
f.close()
f.tell()
except ValueError as ioerror:
print('File alread closed {0}'.format(type(ioerror)))
finally:
print('operation end')
其中第一個(gè)參數(shù)是要打開的文件的文件名,必選;第二個(gè)是打開方式,可選;第三個(gè)為緩沖區(qū),可選。默認(rèn)情況下是以“讀”模式打開文件。該函數(shù)返回的是流類型對象。
mode有如下幾種:
r:讀模式(默認(rèn)值)
w:寫模式
a:追加寫模式
b:二進(jìn)制模式
t:文本模式(默認(rèn)值)
+:更新已有硬盤文件(讀和寫模式)
U:通用換行模式(Universal new line mode)
如果到打開的文件不存在或者其他問題,會(huì)跑出IOError異常。
常用的文件對象屬性:
mode:文件打開模式
name:打開的文件名稱
closed:文件是否關(guān)閉
常用的文件對象方法有:
tell():獲取在當(dāng)前文件中,目前所處的位置。起始值為0.
seek(position,mode):在當(dāng)前文件中移動(dòng)。其中第一個(gè)參數(shù)是要移動(dòng)的距離,第二個(gè)參數(shù)是模式:0表示移動(dòng)絕對位置,相對于文件頭而言;1表示移動(dòng)相對位置,就當(dāng)前位置而言;2表示相對于文件尾的位置。
read(max_byte_num):從文件中讀取字節(jié)。max_byte_number為可選參數(shù),表示讀取的最大字節(jié)數(shù)。如果不選,默認(rèn)為讀取到文件尾。讀取后,當(dāng)前位置會(huì)發(fā)生變化,即增加讀取的字節(jié)數(shù)。
readline():一次讀取文件的一行。
write(content):向文件中寫數(shù)據(jù)。content為要寫入的內(nèi)容。
close():關(guān)閉文件
一個(gè)文件讀寫的例子:
復(fù)制代碼 代碼如下:
try:
f = open('d:/hello_python.txt','w')
f.write('hello my friend python!')
except IOError:
print('IOError')
finally:
f.close()
try:
f = open('d:\hello_python.txt','r')
print(f.read())
f.close()
f.tell()
except ValueError as ioerror:
print('File alread closed {0}'.format(type(ioerror)))
finally:
print('operation end')
相關(guān)文章
PyChon中關(guān)于Jekins的詳細(xì)安裝(推薦)
這篇文章主要介紹了PyChon中關(guān)于Jekins的詳細(xì)安裝(推薦),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Python3+OpenCV實(shí)現(xiàn)簡單交通標(biāo)志識(shí)別流程分析
這篇文章主要介紹了Python3+OpenCV實(shí)現(xiàn)簡單交通標(biāo)志識(shí)別,主要思路是解析XML文檔,根據(jù)<name>標(biāo)簽進(jìn)行分類,如果是直行、右轉(zhuǎn)、左轉(zhuǎn)、停止就把它從原圖中裁剪下來并重命名,感謝的朋友跟隨小編一起看看示例代碼2021-12-12Python連接數(shù)據(jù)庫學(xué)習(xí)之DB-API詳解
在沒有 Python DB-API 之前,各數(shù)據(jù)庫之間的應(yīng)用接口非?;靵y,實(shí)現(xiàn)各不相同。如果項(xiàng)目需要更換數(shù)據(jù)庫時(shí),則需要做大量的修改,非常不便。Python DB-API 的出現(xiàn)就是為了解決這樣的問題。本文主要介紹了Python連接數(shù)據(jù)庫之DB-API的相關(guān)資料,需要的朋友可以參考。2017-02-02Sublime?Text4?配置?Python3?環(huán)境、代碼提示、編譯報(bào)錯(cuò)的解決方案
這篇文章主要介紹了Sublime?Text4?配置?Python3?環(huán)境、代碼提示、編譯報(bào)錯(cuò)教程,通過圖文并茂的形式給大家介紹了配置自動(dòng)代碼提示的方法,需要的朋友可以參考下2022-01-01詳解Django將秒轉(zhuǎn)換為xx天xx時(shí)xx分
這篇文章主要介紹了Django將秒轉(zhuǎn)換為xx天xx時(shí)xx分,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09python中的reduce內(nèi)建函數(shù)使用方法指南
python中的reduce內(nèi)建函數(shù)是一個(gè)二元操作函數(shù),他用來將一個(gè)數(shù)據(jù)集合(鏈表,元組等)中的所有數(shù)據(jù)進(jìn)行下列操作:用傳給reduce中的函數(shù) func()(必須是一個(gè)二元操作函數(shù))先對集合中的第1,2個(gè)數(shù)據(jù)進(jìn)行操作,得到的結(jié)果再與第三個(gè)數(shù)據(jù)用func()函數(shù)運(yùn)算,最后得到一個(gè)結(jié)果2014-08-08