2017 11 04 10檔案的輸入輸出,異常

2021-09-12 14:00:53 字數 3202 閱讀 7581

檔案的輸入輸出,異常

1.檔案

2.異常

1.檔案的輸入輸出

#1.開啟檔案open函式

open

(file

,[option]

)#file是要開啟的檔案

#option是可選擇的引數,常見有 mode等

#2.檔案的開啟模式

r 制度模式,檔案不存在時會報錯

w 寫入模式,檔案存在會清空之前的內容,檔案不存在則會新建檔案

x 寫入模式,檔案存在會報錯,檔案不存在則會新建檔案

a 追加寫入模式,不清空之前的檔案,之間在後面新增內容

b 以二進位制讀寫檔案, wb,rb,ab

+ 可讀寫模式,r+

,w+,x+

,a+,這幾種模式還遵循了r,w,x,a

的基本原則。

#3.檔案的讀取

f.read(size)

#讀取檔案的內容,將檔案的內容以字串返回

f.readline(

)# 從檔案中讀取單獨行

字串結尾會自動加上\n,只有當讀到最後一行,才

停止新增換行符。

#如果是空行則描述為\n,乙個只有換行符的字串

f.readlines(

)#一次讀取所有,返回乙個列表,列表的元素為檔案行的

內容#可以通過列表索引的方式將檔案的每一行內容輸出;

也可以通過for迴圈迭代輸出。

#4.檔案的寫入

f.write(

)#括號內必須是字串

f.writelines(

)#括號內必須是字串元素組成的序列

#5.儲存和關閉

f.flush(

)#將快取區內容儲存到檔案當中

f.close(

)#對乙個已經關閉的檔案操作會報錯

#6.游標位置

f.tell(

)#返回當前游標位置

f.seek(offset,

from

)#常用f.seek(0)返回起始位置

#7.檢視檔案資訊

f.closed

f.mode

f.name

#8.with 形式開啟檔案,裡面的語句執行完後自動關閉檔案

with

open

('fliename'

)as f:

f.read(

)

2.異常語法

try

: suite

except

: suite

except

: suite

except exception as reason:

suite

else

: suite

finally

: suite

'''注意:中間的except,else,finally都是可選的,但至少有乙個,不然try就沒有意義了,根據實際中的需求來選擇。

所有錯誤型別都繼承自baseexception

'''## assert 斷言 用的不多

assert1==

1#沒有返回值

assert1==

2#返回assertionerror

>>> li = ['a','b','c','d']

>>> try:

... li.index('e')

... except exception:

... print("'e' is not in list")

... finally:

... raise valueerror("'e' is not in list")

...

'e' is not in list

traceback (most recent call last):

file "", line 6, in valueerror: 'e' is not in list

#觸發異常

#我們可以使用raise語句自己觸發異常

#raise語法格式如下:

raise [exception [, args [, traceback]]]

#例項#乙個異常可以是乙個字串,類或物件。 python的核心提供的異常,大多數都是例項化的類,這是乙個類的例項的引數。

#定義乙個異常非常簡單,如下所示:

def functionname( level ):

if level < 1:

raise exception("invalid level!", level)

# 觸發異常後,後面的**就不會再執行

f=

open

('test.txt'

,'w')b=

2d=1try

: b%d

except nameerror:

print

('未定義'

)except typeerror:

print

('型別錯誤'

)except valueerror:

print

('值錯誤'

)except exception:

print

('b%d,報錯了'

)else

:print

('沒有問題'

)finally

:print

('不管你草不報錯,我都要執行'

)try

: f=

open

('test.txt'

,'w'

) f.read(

)except exception:

print

('檔案操作有誤'

)finally

: f.close(

)print

(f.closed)

try:

a=input

('輸入數字: '

)if a.isdigit():

print

('輸入成功'

,a)else

:raise typeerror

except exception:

print

('輸入有誤,請重新輸入'

)

C 輸入 2 檔案讀取

記錄以檔案方式讀取資料。如從檔案data.txt中讀取資料,檔案內容如下 0 0 3 82 2 1 15 3 4 86 3 5 46 4 7 5 思路 先通過檔案的行數,得到樣本個數,再建立動態陣列,逐個讀取資料。變數定義 define max sample num 100 最大樣本個數 doubl...

9 檔案輸入與輸出

要想對檔案進行讀取,就需要乙個用file物件構造乙個scanner物件,如下所示 scanner in new scanner paths.get myfile.txt utf 8 如果檔名包含反斜槓符號,就要記住在每個反斜槓之前再加乙個額外的反斜槓 c mydirectory myfile.txt...

檔案輸入輸出(二) 檔案的操作

file fopen char filename,char mode filename對應的實參是乙個字串,表示需要開啟的檔案的檔名 可以包括檔案的路徑 該實參可以是乙個字串常量,也可以是乙個字元指標 mode對應的實參也是乙個字串,對應了檔案的操作模式 r 以唯讀方式開啟乙個文字檔案,如果檔案不存...