本文目錄一覽:
Python讀取文件內容的方法有幾種
python讀取文本文件內容的方法主要有三種:read()、readline()、readlines()。
第一種:read()
read()是最簡單的一種方法,一次性讀取文件的所有內容放在一個大字符串中,即內存中。
read()的好處:方便、簡單,一次性讀出文件放在一個大字符串中,速度最快。
read()的壞處:文件過大的時候,佔用內存會過大。
第二種:readline()
readline()逐行讀取文本,結果是一個list。
readline()的好處:佔用內存小,逐行讀取。
readline()的壞處:逐行讀取,速度比較慢。
第三種:readlines()
readlines()一次性讀取文本的所有內容,結果是一個list。
readlines()的好處:一次性讀取文本內容,速度比較快。
readlines()的壞處:隨着文本的增大,佔用內存會越來越多。
python操作文本文件
在磁盤上讀寫文件之前,必須先打開這個文件。打開文件就需要提供文件的路徑。
在與Python程序同一個目錄下,我們有一個名為 pi.txt 的文件,它的內容如下:
現在使用Python來打開和關閉它:
執行此程序不會有任何輸出,這表示着打開和關閉文件都得到了正確執行。
可以看到,使用 open() 函數打開文件,參數為文件名(或文件路徑);該函數會返回一個文件句柄,文件句柄並不會實際保存文件的內容,而是代表着一種操作,在上面的例子中,文件句柄被賦值給變量 fhand 。
打開文件後,程序具有讀(默認)該文件的權限。
最後,使用文件句柄的 close() 方法關閉文件。這非常重要,因為使用完而沒有關閉的文件會佔用內存或造成安全問題。
如果Python找不到該文件,則會返回錯誤,比如下面這樣:
Python提示我們沒有相應的文件或者目錄: ‘pii.txt’。
打開文件後就可以對文件進行操作:
fhand.read() 方法將文件內容作為一個字符串返回。
文件中的每一行末尾使用換行符 \n 表示換行,例子中方法 rstrip() 去掉文本中的換行符,然後輸出。
程序的運行效果如下:
如果在文件關閉之前程序發生BUG意外退出,則文件不會關閉,為了避免此類事件的發生,可以使用 with 語句:
with 語句的特點是即便在操作文件時發生錯誤,文件也會自動被清理。
fhand.read() 雖然可以讀取文本內容,但是當我們想要逐行處理文件內容,或者文件很大而無法一次性加載進內存的時候,就不適用了。
可以使用 for 語句逐行處理文件內容:
本程序中將文件名保存在變量 filename 中。
打開文件後,使用 for 語句按行讀取文件內容。例子中,每次循環依次取一行文本以字符串的格式保存在變量 line 中,每次循環中變量 count 自增1。
這個程序的作用是,打開程序所在目錄的 when_old.txt 文件,然後統計行數,並輸出結果。
when_old.txt 文件的內容是:
可以使用其他方法操作字符串 line :
程序將以 ‘And’ 開頭的行打印出來。
打開文件後,默認的權限是讀(r),如果要寫文件,則需要使用寫(w)或者追加(a)權限。
w權限,打開一個文件用於寫入。如果該文件存在,則覆蓋該文件;如果該文件不存在,則創建該文件。
a權限,打開一個文件用於追加。如果該文件存在,在文件末尾追加;如果該文件不存在,則創建該文件。
下面是一個使用w權限打開文件的例子:
例子中使用w權限打開該文件,並寫入兩行。(如果該文件存在,則內容會被覆蓋)
fhand.write() 不會自動添加換行符,所以如果需要換行,需在末尾添加 \n 。
下面我們寫一個統計文件中詞頻的程序。
它會統計文件中各個詞的出現的次數,然後由高到低顯示出前5個詞。
首先我們完成打開和關閉文件的程序內容:
在例子中,由用戶輸入文件名,並且使用異常捕獲以處理文件打開時的錯誤。
下面對內容進行統計:
這個程序:
如此,我們就在字典中存放了 單詞:次數 的鍵值對。
由於字典不能保存順序,所以不能對其進行排序。為此,將每個鍵值對都添加到一個列表中:
在列表 word_list 中,每一項都是一個元組,每個元組第一個值是單詞出現的次數,第二個值是單詞內容。
對其進行逆向(由大到小)排序:
打印最終結果:
整個程序如下:
下面是程序運行結果的示例:
3 2 2版本的python怎樣打開文本編輯器?
打開python自帶的文本編輯器,不管哪個版本都一樣的方法:
1.
打開python自帶ide
2.點擊file,選擇new
file(新文件的意思)
3.彈出一個新的空白窗口,這就是文本編輯器了,然後在裏面編寫代碼,按f5(運行命令)出現一個提示框,大概意思是說,要運行前提必須保存
4.點確定,選擇保存位置,取一個文件名,然後點保存
5.點完保存立馬就會運行代碼
6.在你剛才保存的路徑下則有這個文件
以上是python自帶的,你可以選擇第三方的,比如pycharm,sumlibe
text等等,看你自己開發需要,個人建議使用pycharm,功能強大,適合大小型的項目開發,sublime
text適合中小型項目開發
我想使用python打開文本並獲取指定的內容請問該怎麼做?
with open(‘1.log’) as f:
for line in f.readlines():
if (“ERROR”) in line:
print(“通知你”)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/280660.html