繼續上篇文章,持續更新一波......git
1. 文件讀寫操做小程序
這個問題別人的博客寫的很好很詳細了函數
f = open(r'C:\Movie\test2.txt','w') 直接打開一個文件,若是文件不存在則建立文件,只能只用寫命令
f = open(r'C:\Movie\test2.txt') 打開一個文件,只能只用讀命令 f.read([size]) size爲讀取的長度,以byte爲單位,若是不寫則讀取所有內容
f.readline([size]) 讀一行,若是定義了size,有可能返回的只是一行的一部分。每讀取一次,文件操做符向下移動一行。
f.readlines([size]) 把文件每一行做爲一個list的一個成員,並返回這個list。其實它的內部是經過循環調用readline()來實現的。若是提供size參數,size是表示讀取內容的總長,也就是說可能只讀到文件的一部分。
關於open模式,參數不一樣達到的效果也是不一樣的,好比我須要的是在一個日誌文件中不斷的追加新的東西而不是每次都直接覆蓋掉,因此我用到了"a+"spa
1 關於open模式的參數: 2 w 以寫方式打開 3 a 以追加模式打開 4 r+ 以讀寫模式打開 5 w+ 以讀寫模式打開 6 a+ 以讀寫模式打開 (我用到了這個模式,讀寫模式不斷追加新的東西) 7 rb 以二進制讀模式打開 8 wb 以二進制寫模式打開 9 ab 以二進制追加模式打開 10 rb+ 以二進制讀寫模式打開11 wb+ 以二進制讀寫模式打開12 ab+ 以二進制讀寫模式打開
還有一些操做的區別,我當時用到的問題是f.readline,每次都是讀文件的一行,沒有把所有的內容都讀出來,因此區別仍是很明顯,要區分清楚..net
寫操做的用法和區別: f.write(「str」) 把str寫到文件中,write()方法不會在str後加上一個換行符 f.writelines(seq) 把seq的內容所有寫到文件中(多行一次性寫入)。這個函數也只是忠實地寫入,不會在每行後面加上任何東西。
f.close() 關閉文件。在讀命令或者寫命令結束時,須要用關閉。若是文件關閉後依然操做,會拋出ValueError: I/O operation on closed file
f.tell() 返回文件操做標記的當前位置,以文件的開頭爲起點
fp.next() 返回下一行內容,並將文件操做標記位移到下一行。把一個file用於for … in file這樣的語句時,就是調用next()函數來實現遍歷的。
fp.seek(offset[,whence]) 將文件操做標記爲移動到offset位置。
3. 遇到的報錯狀況版本控制
本身不想要定義太多的函數,我的感受是想要將不一樣功能的函數進行分類,所以我嘗試用到了類,知道本身這麼作多是想法上就有些不對的,可是想要瞎試試看看效果,因此結果就是報錯了.日誌
如圖,這是別人遇到的方法,和個人是同樣的,我沒有定義靜態的函數,因此每次使用以前都須要進行實例化才能調用.code
4. git報錯blog
本身寫的小東西,想要經過一個方式來進行版本控制,這樣再加或者別的地方也能夠不斷更新本身的小程序,因此git走起,遇到的問題其實很小,一搜就有,可是仍是放出來,之後省的找rem
fatal: remote origin already exists.
解決辦法,先刪除,在添加.很簡單~
把連接也放出來:
http://blog.csdn.net/dengjianqiang2011/article/details/9260435