22章 動動手練習

22章
你學到了什么
在這一章,你學到了以下內容。
什么是文件。

  • 計算機使用二進制來保存數據,而二進制只有0與1,每一個0或1成為1 bit,每8個 bit 稱為1字節(Byte)
  • 文件就是有名字的字節的集合,并存儲在硬盤,CD,DVD,flash盤或其它存儲介質上的。、
  • 文件 可以存儲不同的類型type的信息,一個文件可以包含文本,圖片,音樂,程序,電話號碼等。

如何打開和關閉文件。

#前提是文件與程序保存在同一目錄下,不然需要建立文件對象,
my_file = open('D:/python/"notes.txt")

open('notes.txt','r')
close('notes.txt')

打開文件的不同方式:讀、寫和追加。

#讀 open('notes.txt','r') 
#寫 open('notes.txt','w')
#追加 open('notes.txt','a')


寫文件的不同方法write()
或print >>:```

new_file = open("my_new_notes.txt", 'w')
new_file.write("Eat supper\n")
new_file.write("Play soccer\n")
new_file.write("Go to bed")
new_file.close()
my_file = open("new_file.txt", 'w')
print >> my_file, "Hello there, neighbor!"
my_file.close()

如何使用pickle
在文件中保存列表和對象(以及其他 Python 數據結構)。
很多與文件夾(也稱為目錄)、文件位置和路徑相關的內容。

我們還建立了一個 Hangman 游戲,這個游戲使用來自文件的數據得到一個詞匯表。
測試題

  1. Python 中用來處理文件的對象稱為 __文件對象______。
  2. 如何創建一個文件對象?
    輸入變量名,用open() 打開文件路徑
new_file = open("my_new_notes",'w')
  1. 文件對象和文件名之間有什么區別?

文件對象,是py可以訪問文件的前提
文件名,只是windows對每一個文件的命名。

  1. 完成文件讀寫時應該對文件做什么操作?
close()
  1. 如果用追加模式打開一個文件然后在文件中寫入內容會怎樣?

原來的內容加上后來追加上的內容,也就是對文件進行了修改補充。

  1. 如果用寫模式打開一個文件然后在文件中寫入內容會怎樣?
  • 如果文件已經存在,文件中的所有內容都會丟失,替換為現在寫入的內容;
  • 如果文件不存在,會創建一個同名的新文件,你寫的所有內容會被放入這個新文件中。
  1. 讀過文件的一部分之后如何從文件起始位置開始讀?
first_line_again = my_file.seek(0)
#表示,回到文件中文本的起始處,括號中的數字就是從文件起始位置算起的字節數
  1. 將一個 Python 對象保存到文件中要使用哪個pickle
    函數?
pickle.dump()
  1. 要“還原”一個對象 ( 從pickle
    文件得到對象 , 并放回到 Python 變量中 ),應當使用哪個pickle
    方法?
recover_list = pickle.load("pickle_file")

動手試一試

  1. 建立程序造一些滑稽句子。每個句子應該至少有 4 部分,類似于:
    The ____________ _______________ ______________ _________________
      (形容詞)   ( 名詞 )   ( 動詞短語 )  ( 副詞短語 )
    例如:


    {%}

    這個程序會隨機選擇一個形容詞、一個名詞、一個動詞短語和一個副詞短語來創建句子。這些單詞都存儲在文件中,可以使用“記事本”創建這些單詞。要完成這個程序,最簡單的方法是為這 4 組單詞分別創建一個文件,不過也可以采用你希望的任何方式創建文件。下面給出一些點子來啟發一下你,不過,我相信你也能提出自己的想法。
    形容詞:crazed, silly, shy, goofy, angry, lazy, obstinate, purple

名詞:monkey, elephant, cyclist, teacher, author, hockey player

動詞短語:played a ukulele, danced a jig, combed his hair, flapped her ears

副詞短語:on the table, at the grocery store, in the shower, after breakfast,with a broom

再給出一個示例輸出:“The lazy author combed his hair with a broom”。

  1. 編寫一個程序,讓用戶輸入名字、年齡、最喜歡的顏色和最喜歡的食物。程序要把所有這 4 項保存在一個文本文件中,每一項分別放在單獨的一行上。
  2. 完成第 2 題的任務,不過使用pickle
    將數據保存到一個文件。(提示:如果先把數據放在一個列表中就會很容易做到。)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容