至此,已經掌握了Python的基本技能,在本章中將學習如何進行文件操作。
文件操作
從文件中讀取文件
文本數據可存儲大量數據,每當需要分析或者修改存儲在文件中的信息的時候,讀取文件就顯得至關重要了。
1、讀取整個文件
首先在.py文件目錄下面新建一個“11.txt”文件,在文本內輸入如下數據:
編寫如下代碼:
首先在以任何方式使用文件時,首先必須打開文件,這樣才能訪問他。函數open()接受一個參數:要打開文件的名字,Python會在當前文件的目錄下查找指定文件。open()函數返回一個表示該文件的對象。
關鍵字with在不需要訪問文件的時候將其關閉。打開文件之後我們使用read()函數讀取文件的全部內容,並將其作爲一個長字符串保存在contents變量中。但是仔細觀察我們發現這個打印結果會多空出一行來,這是因爲read()函數到達文件末尾會返回一個空字符串,而這個空字符串顯示出來就是一個空行,要刪除末尾的空行,可使用print語句中的rstrip()語句。
2、逐行讀取
有時候需要逐行讀取文件,例如查找特定的信息,要以每一次的形式檢查文件,可對文件對象使用for循環:
這時候我們發現打印每一行時候都有一個空白行,我們將上述代碼輸出語句修改成:print line.rstrip()
3、readlines()函數
使用with關鍵字,open()函數返回文件對象只在with代碼內可用,如果要在with代碼塊外面訪問文件的內容,可將文件的各行存儲在一個列表中。readlines()函數從文件只能讀取每一行,然後將其存儲在一個列表中:
寫入文件
數據的保存在程序運行中至關重要,下面我們將學習編寫程序保存數據
1、寫入空文件
在這個實例中,open()接受兩個參數,第一個是要打開的文件名,第二個參數實參('w')告訴Python以寫入模式打開這個文件。打開文件時有三種可選模式,分別是讀取模式('r')、寫入模式('w')和附加模式('a')或者是能夠讀取和寫入的模式('r+'),如果省略參數,則默認爲讀取模式
運行這段代碼後,我們可以在當前目錄下找到該文件
注意:Python只能將字符串寫入文本文件,如若將數值數據存入文本,則需要轉換着字符串類型。另外,如果以寫入方式打開文件並寫入已存文件時,會覆蓋掉原有數據,我們將原代碼修改成如下形式:
運行之後我們發現,原來文本中的'I love Python!'已經被覆蓋掉了。