初學Python 基礎篇子Python檔案操作

2021-10-06 11:18:26 字數 4732 閱讀 3378

python file(檔案) 方法

open() 方法

python open() 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。

注意:使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方法。

open() 函式常用形式是接收兩個引數:檔名(file)和模式(mode)。

open

(file

, mode=

'r')

完整的語法格式為:

open

(file

, mode=

'r', buffering=-1

, encoding=

none

, errors=

none

, newline=

none

, closefd=

true

, opener=

none

)

引數說明:

模式 描述

模式 r r+ w w+ a a+

讀 + + + +

寫 + + + + +

建立 + + + +

覆蓋 + +

指標在開始

+ + + +

指標在結尾

+ +

import filetest

if __name__ ==

'__main__'

:try

:print

('檔案操作,處理異常開始:'

) filetestobj = filetest.filetest();

filetestobj.filetests(

)print

('檔案操作,處理異常結束:'

)except baseexception as argument:

print

(argument)

except valueerror as argument:

print

(argument)

from pip._vendor.distlib.compat import

raw_input

class

filetest

:def

__init__

(self)

: self.a =

1def

filetests

(self)

:try

:file

=raw_input

("請輸入你要操作的檔名和模式用逗號分割:"

)str

=file

.split(

",")

; fo =

open

(str[0

]+".txt"

,str[1

])string =

raw_input

("請輸入你要寫入的文字:"

) fo.write(string)

print

("檔名: "

, fo.name)

print

("訪問模式 : "

, fo.mode)

print

("是否已關閉 : "

, fo.closed)

# 開啟乙個檔案

fo =

open

(fo.name,

'r+'

) strall = fo.read(

)print

("讀取所有的字串是 : \n"

, strall)

# 查詢當前位置

position = fo.tell(

)print

("查詢當前檔案位置 : "

, position)

# 把指標再次重新定位到檔案開頭

print

("把指標再次重新定位到檔案開頭 : "

) position = fo.seek(0,

0)str5 = fo.read(5)

print

("讀取5個的字串是 : "

, str5)

# 把指標再次重新定位到檔案開頭

print

("把指標再次重新定位到檔案開頭 : "

) position = fo.seek(0,

0)str10 = fo.read(8)

print

("讀取8個的字串是 : "

, str10)

except valueerror:

print

("error:傳入無效的引數"

)else

:# 關閉開啟的檔案

print

("關閉開啟的檔案 : "

, fo.close(),

"\n"

)# 關閉開啟的檔案

fo.close(

)

read() 方法用於從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。

runoob.txt 文字檔案內容:

1:www.runoob.com

2:www.runoob.com

3:www.runoob.com

4:www.runoob.com

5:www.runoob.com

fo = open(「runoob.txt」, 「rw+」)

print "檔名為: ", fo.name

line = fo.read(10)

print 「讀取的字串: %s」 % (line)

fo.close()

檔名為: runoob.txt

讀取的字串: 1:www.runo

一、read([size])方法

read([size])方法從檔案當前位置起讀取size個位元組,若無引數size,則表示讀取至檔案結束為止,它範圍為字串物件

f =

open

("a.txt"

)lines = f.read(

)print lines

print

(type

(lines)

)f.close(

)hello

welcome

what is the ...

<

type

'str'

>

#字串型別

二、readline()方法

從字面意思可以看出,該方法每次讀出一行內容,所以,讀取時占用記憶體小,比較適合大檔案,該方法返回乙個字串物件。

f =

open

("a.txt"

)line = f.readline(

)print

(type

(line)

)while line:

print line,

line = f.readline(

)f.close(

)<

type

'str'

>

hello

welcome

what is the .

..

三、readlines()方法讀取整個檔案所有行,儲存在乙個列表(list)變數中,每行作為乙個元素,但讀取大檔案會比較佔記憶體

f =

open

("a.txt"

)lines = f.readlines(

)print

(type

(lines)

)for line in lines:

print line,

f.close(

)輸出結果:

<

type

'list'

>

hello

welcome

what is the .

..

四、linecache模組

當然,有特殊需求還可以用linecache模組,比如你要輸出某個檔案的第n行:

# 輸出第2行

text = linecache.getline(『a.txt',2)

print text,

seek() 方法用於移動檔案讀取指標到指定位置。

seek() 方法語法如下:

fileobject.seek(offset[

, whence]

)

引數

返回值

如果操作成功,則返回新的檔案位置,如果操作失敗,則函式返回 -1。

f.seek(4,

0)#從開頭位置向後偏移4位元組

f.seek(3,

1)#從當前位置向後偏移3位元組

f.seek(-4

,1)#從當前位置向前偏移4位元組

f.seek(-3

,2)#從結尾位置向前偏移3位元組

初學python基礎

基本輸入輸出語句 res input 請隨便輸入 輸入操作 print res 輸出操作 print 周 s放假啦 res 佔位符格式化print引數解釋 value 需要輸出值,可多個 sep 間隔符號,預設空格,可修改 end 輸出語句後附加字元,預設換行 n file 將文字輸入到某檔案或資料...

怎樣學好python 零基礎如何學好Python?

零基礎如何學好python?其實零基礎學好python很簡單,python高階需要花費寫氣力,都說python簡單易學,那麼零基礎如何學好python?有哪些必須學的知識?學習的策略技巧有哪些?看傳智播客怎麼說 python上手很容易,基本有其他語言程式設計經驗的人可以在1週內學會python最基本...

python初學函式 python 初學函式

len s 金老闆小 len s def my len 自定義函式 i 0 for k in s i 1 print i length my len print length 函式 定義了之後,可以在任何需要它的地方呼叫 沒有返回長度,只是單純的列印 返回的重要性 a,b len a 內建函式 le...