簡介
在之前的編程中,我們的信息打印,數據的展示都是在控制臺(命令行)直接輸出的,信息都是一次性的沒有辦法復用和保存以便下次查看,今天我們將學習Python的輸入輸出,解決以上問題。
復習
得到輸入用的是input(),完成輸出用的是print(),之前還有對字符串的操作,這些我們都可以使用help()命令來查看具體的使用方法。
文件
在Python2的時候使用的是file來創建一個file類,對它進行操作。Python3中去掉了這個類(我沒有查到,只是猜測),使用open來打開一個文件,返回一個IO的文本包裝類,之后我們使用這個類的方法對它進行操作。

使用文件
poem = '''\
Programming is fun
when the work is done
if you wanna make your work also fun:
use Python!
'''
#poem1 = '''liu'''
#讀模式('r')、寫模式('w')或追加模式('a')。
#如果有文件就讀取,沒有就創建
f = open('poem.txt','w')
#f = open('poem.txt','a')
f.write(poem)
#f.write(poem1)
f.close()
type(f)
print(f)
f = open('poem.txt','r')
while True:
line = f.readline()
if len(line) == 0:
break
print(line, end='')
f.close()
運行結果

如何工作
open方法第一個參數是你的文件名和路徑,我的文件和程序在同一個文件夾下所以只需要填寫文件名即可,第一個參數后面可以跟很多參數來完成不同的操作,而且很多參數是由默認值的,通過我們之前對函數的學習知道這樣做的好處。
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) ========= =============================================================== Character Meaning --------- --------------------------------------------------------------- 'r' open for reading (default) 'w' open for writing, truncating the file first 'x' create a new file and open it for writing 'a' open for writing, appending to the end of the file if it exists 'b' binary mode 't' text mode (default) '+' open a disk file for updating (reading and writing) 'U' universal newline mode (deprecated) ========= ===============================================================
這個mode參數是主要的參數,大家記住這個就可以,mode參數可以很多個參連在一起使用比如open('text1.txt','wb')這個就是使用二進制寫數據,一會就會使用到。
這個文件是不用手動創建的,在你的路徑下有這個文件的話,就會打開這個文件,如果沒有會自動創建這個文件。
讀文件的時候使用的是循環讀取,使用包裝類的readline()方法,讀取每一行,當方法返回0時,表示文件讀取完成,破壞循環條件,關閉IO。

自動創建的文件。
儲存器
Python中提供了一個pickle模塊。通過這個模塊你可以在文件中存儲任何Python對象,你又可以從這個文件中吧對象取出。這被稱為持久的存儲對象。還有另一個模塊稱為cPickle,它的功能和pickle模塊完全相同,只不過它是用C語言編寫的,因此它的速度要快很多(比pickle快1000倍,Python3中取消使用)。這里將使用Pickle模塊。
使用import...as...語法可以用as后的字符代替as前的字符,模塊使用起來更簡潔。將數據保存到打開的文件中就是存儲,open一個文件,調用模塊的dump函數,將數據存到文件中。使用模塊的load函數返回存儲的對象,這個過程叫做取存儲。
import pickle as p shoplistfile = 'shoplist.data' shoplist = ['apple','mango','carrot'] f = open(shoplistfile,'wb') #將數據寫入打開的文件中 p.dump(shoplist,f) f.close() del shoplist f = open(shoplistfile,'rb') storedlist = p.load(f) print(storedlist) print(__doc__)
運行結果

這里使用的就是二進制的寫入,讀取的時候也使用的二進制,和寫入的數據有關,這個大家多多留意。
Python的輸入與輸出就寫到這里,大家多多探索會有更多的知識等待你發掘。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。