python基礎教程(七)輸入與輸出,文件的讀寫

python基礎教程(七)輸入與輸出,文件的讀寫

咖啡廳の少女

python基礎教程(七)輸入與輸出,文件的讀寫

format 格式化輸出

!a--ascii()

!s--str()

!r--repr()

在格式化某個值之前對其進行轉化.

python基礎教程(七)輸入與輸出,文件的讀寫

python基礎教程(七)輸入與輸出,文件的讀寫

可選項':'和格式標識符可以跟著字段名--對格式化字段進行更好的格式化.

下面的例子將pi保留到小數點後三位:

python基礎教程(七)輸入與輸出,文件的讀寫

在':'後傳入一個整數,可以保證該域至少有這麼多的寬度.用於美化表格時很有用.

python基礎教程(七)輸入與輸出,文件的讀寫

傳入一個字典,使用方括號'[]'來訪問鍵值

python基礎教程(七)輸入與輸出,文件的讀寫

python基礎教程(七)輸入與輸出,文件的讀寫

可以在table變量前使用'**'來實現相同功能:

python基礎教程(七)輸入與輸出,文件的讀寫

舊字符串格式化

%操作符也可以實現字符串格式化.它將左邊的參數作為類似sprintf()式的格式化字符串,而將右邊的代入,然後返回格式化後的字符串.例如:

python基礎教程(七)輸入與輸出,文件的讀寫

%10.6f:表示佔位為10,保留小數點都6數數字.

因為str.format()是比較新的函數,大多數的python代碼仍然使用%操作符.但是因為舊的格式化最終會從語言中移除,所以推薦使用str.format()這種方法來格式化輸出.

文件的讀與寫

open()將會返回一個file對象,基本語法如下:

open(filename,mode)

第一個參數filename,是要打開文件的文件名(包含路徑)

第二個參數mode.是描述如何使用的字符.'r'表示只讀,'w'表示寫入(如果存在同名的文件會被刪除),'a'表示追加文件內容,所寫的任何數據都會被自動增加到末尾.

'r+'表示讀和寫的操作.mode參數是可選的,默認值為'r'只讀

f.read(size):讀取文件對象的內容,size指定讀取的字節數.如果沒有指定size,或者為size為負數,將會讀取整個文件內容.

f.readline():讀取文件的一行.如果f.readline()返回一個空字符串,表示已經讀到了文件的最後一行.

f.readlines():將返回文件中的所有行組成的列表.

可以迭代一個文件對象,然後讀取每行.例如:

f=open('一個文件名','r')

for line in f:

print(line,end=' ')

f.write()

f.write(string)將string寫入文件中,然後返回寫入的字符數.

例如:f.write('this is a test\n')

返回字符數:15

f.tell()

返回文件對象當前所處的位置,它是從文件開頭開始算起的字節數.

f.seek()

如果要改變文件的當前位置,可以使用f.seek(offset,from_what)函數

from_what的值,如果是0:表示開頭(默認為0).1:表示當前位置.2:表示文件結尾.

例如:●seek(x,0):從起始位置即文件首行首字符開始移動x個字符.

●seek(x,1):表示從當前位置往後移動x個字符.

●seek(-x,2):表示從文件的末尾往前移動x個字符.

f.close()

關閉文件,如果不關閉會一直佔用內存資源,並且可能不安全.

pickle模塊

python的pickle模塊實現了基本的數據序列化和反序列化.

通過pickle模塊的序列化操作,我們能夠將程序中運行的對象信息保存到文件中去,永久存儲.

通過pickle模塊的反序列化操作,我們能夠從文件中創建上一次程序保存的對象.

基本接口:

pickle.dump(obj,file,[,protocol])

有了pickle這個對象,就能對file以讀取的形式打開:

x=pickle.load(file)

註解:從file中讀取一個字符串,並將它重構為原來的python對象.

file

:類文件對象,有read()和readline()接口.

例如:

python基礎教程(七)輸入與輸出,文件的讀寫


分享到:


相關文章: