檔案的輸入輸出,異常
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 以唯讀方式開啟乙個文字檔案,如果檔案不存...