head first python讀書筆記(十)

2021-09-30 13:25:20 字數 2806 閱讀 9591

讀了三個程式,樓主發現,還是自己的基本功不夠紮實,很多東西都不會解決,所以,樓主又回歸了head first python。今天樓主從網上看到了乙個非常好的部落格: 部落格的主人看得出是乙個注重積累的人,樓主很是欣賞,而且,樓主找到了乙個提高進度的方法。樓主看了一下,第七章往後大部分是**和應用開發,樓主應該不會去看了,所以還剩下100頁。樓主決定,10頁一小組,20頁一大組。第一遍,先把大組中的大體內容看一下,第二遍,把小組的細節看一下,第三遍,把小組的程式實現,第四遍,把大組的內容寫成讀書筆記。以讀書筆記替代教程部落格,應該能省下樓主不少時間。樓主加油~~~

******************************華麗麗的分割線********************************************

1、用finally來避免由於檔案缺失而造成的無法關閉的錯誤:

>>> try:

data=open('missing.txt')

print(data.readline(),end='')

except ioerror:

print('file error')

finally:

if 'data' in locals():

data.close()

還要注意一點,if 'data' in locals(): 的用法,是用來判斷檔案是否在本地的

2、except的一點小改動,注意str的用法,這樣就可以按照意願輸出錯誤

>>> try:

data=open('missing.txt')

print(data.readline(),end='')

except ioerror as err:

print('file error:'+str(err))

finally:

if 'data' in locals():

data.close()

file error:[errno 2] no such file or directory: 'missing.txt'

3、with的用法:python自動關閉檔案

>>> try:

with open('its.txt','w') as data:

print("it's ...",file=data)

except ioerror as err:

print('file error:'+str(err))

with用法示例:問題是man是如何被賦值的呢?

>>> try:

with open('man_data.txt','w') as man_file:

print(man,file=man_file)

with open('other_data.txt','w') as other_file:

print(other,file=other_file)

except ioerror as err:

print('file error:' + str(err))

with用法示例2,把所有檔案的開啟用乙個with實現,注意open中間用『,』且with最後用『:』!!!!!

>>> try:

with open('man_data.txt','w') as man_file,open('other_data.txt','w') as other_file:

print(man,file=man_file)

print(other,file=other_file)

except ioerror as err:

print('file error:' + str(err))

>>> with open('sketch.txt') as st:

print(st.readline())

man: is this the right room for an argument?

4、pickle.dump和load的用法,按照head first python寫的,不知道為什麼出了這兩個問題。

>>> try:

with open('sketch.txt','wb') as st_file:

pickle.dump(st,st_file)

except ioerror as err:

print('file error:'+ str(err))

except pickle.pickleerror as perr:

print('pickling error:' + str(perr))

traceback (most recent call last):

file "", line 3, in

pickle.dump(st,st_file)

typeerror: cannot serialize '_io.bufferedwriter' object

>>> try:

with open('sketch.txt','rb') as st_file:

st=pickle.load(st_file)

except ioerror as err:

print('file error:'+str(err))

except pickle.pickleerror as perr:

print('pickling error:'+str(perr))

traceback (most recent call last):

file "", line 3, in

st=pickle.load(st_file)

eoferror: ran out of input

Head First Python(定製資料物件)

新的檔案格式 sarah sweeney,2002 6 17,2 58,2.58,2 39,2 25,2 55,2 54,2.18,2 55,2 55,2 22,2 21,2.22 如果使用split bif把資料抽取到乙個列表,第乙個資料項是名字,然後是出生日期,然後是計時資料。sarah get...

Head First Python 讀書筆記

idle整合開發環境 in 操作符 檢查乙個物件是否在另乙個物件中 不用大括號分開,靠縮排 區分 作為乙個 塊,有 的地方,必須縮排 迭代處理乙個物件序列的三種典型方法 序列是乙個有序的物件集合 for迴圈 知道迴圈次數 迴圈數字列表,迭代變數 x 指的是被迭代物件中的item for x in 1...

HeadFirstPython 資料持久化

usr bin env python coding utf 8 這一章主要是講如何將資料進行持久化。使用pickle對資料進行醃製。在對資料進行醃製之前,我們需要對資料進行格式化 針對資料 取出我們想要的資料。在中間的知識點是 檔案開啟與關閉,以及其異常處理。我用的是python2.7 在某些語法上...