讀了三個程式,樓主發現,還是自己的基本功不夠紮實,很多東西都不會解決,所以,樓主又回歸了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 在某些語法上...