真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python函數(shù)打開文件,Python如何打開文件

python文件讀取與寫入

open(filepath) :打開文件

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設,旌陽企業(yè)網(wǎng)站建設,旌陽品牌網(wǎng)站建設,網(wǎng)站定制,旌陽網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,旌陽網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

open(filepath,'r') :打開方式,默認是讀取

open(filepath).read() :讀取文件中的內(nèi)容

open(filepath).readline() :讀取文件中一行的內(nèi)容

open(filepath).readline()[1] :讀取文件中的內(nèi)容,返回值是列表。

open(filepath).close() :關閉文件

open(filepath).seek(0) :將光標回到首位

with open()函數(shù),不用close()方法,默認自動關閉,所以需要制定一些規(guī)則.

文件內(nèi)建函數(shù)和方法:

open() : 打開文件

read() :輸入

readline() :輸入一行

seek() :文件內(nèi)移動

write() :輸出

close() :關閉文件

Python文件操作,看這篇就足夠!

文件的存儲方式

在計算機中,文件是以二進制的方式保存在磁盤上的文本文件和二進制文件

文本文件可以使用文本編輯軟件查看本質上還是二進制文件

二進制文件保存的內(nèi)容不是給人直接閱讀的,而是提供給其她軟件使用的二進制文件不能使用文件編輯軟件查看

文件基本操作

在計算機中要操作文件一共包含三個步驟:1.打開文件2.讀、寫文件

讀 將文件內(nèi)容讀入內(nèi)容寫 將內(nèi)存內(nèi)容寫入文件

模式描述

t文本模式 (默認)。

x寫模式,新建一個文件,如果該文件已存在則會報錯。

b二進制模式。

+打開一個文件進行更新(可讀可寫)。

U通用換行模式(不推薦)。

r以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。

rb以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。這是默認模式。一般用于非文本文件如圖片等。

r+打開一個文件用于讀寫。文件指針將會放在文件的開頭。

rb+以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭。一般用于非文本文件如圖片等。

w打開一個文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。

wb以二進制格式打開一個文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。

w+打開一個文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。

wb+以二進制格式打開一個文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。

a打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進行寫入。

ab以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進行寫入。

a+打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。

ab+以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。

文件打開模式有很多,但是我們實際用到的就只有六種。

我們總結一下主要用到的是下面六種

模式可做操作若文件不存在是否覆蓋文件原來內(nèi)容

r只讀報錯——

r+可讀、可寫報錯是

w只寫創(chuàng)建是

w+可讀、可寫創(chuàng)建是

a只寫創(chuàng)建否,追加寫

a+可讀、可寫創(chuàng)建否,追加寫

只讀模式打開文件——只讀(r)

文件若不存在報錯:

讀寫模式打開文件——讀寫模式(r+)

數(shù)據(jù)寫入之前:

數(shù)據(jù)寫入之后:

會替換掉相同長度的內(nèi)容

文件若不存在報錯:

寫模式打開文件——寫模式(w)

數(shù)據(jù)寫入之前:

數(shù)據(jù)寫入之后:

這種操作會刪除原來的文件內(nèi)容,重新寫入Python,

并且把光標放在文件最開始。

若文件不存在,系統(tǒng)會創(chuàng)建該文件夾并重新寫入內(nèi)容

讀寫模式打開文件——讀寫模式(w+)

數(shù)據(jù)寫入之前:

數(shù)據(jù)寫入之后:

這種操作會刪除原來的文件內(nèi)容,重新寫入Python,

并且把光標放在文件最開始。

若文件不存在,系統(tǒng)會創(chuàng)建該文件夾并重新寫入內(nèi)容

利用這個原理所以文件寫模式(w)、讀寫模式(w+)還可以用作刪除文件內(nèi)容。

因為他們整個工作原理就是把文件原來的內(nèi)容刪除,然后寫入新的內(nèi)容。

如果我們寫入的內(nèi)容為空,那么不就是刪除文件內(nèi)容。

數(shù)據(jù)寫入之前:

數(shù)據(jù)寫入之后:

寫模式打開文件(追加內(nèi)容)——寫模式(a)

數(shù)據(jù)寫入之前:

數(shù)據(jù)寫入之后:

可以看到是在原先內(nèi)容的基礎上在文末追加新的內(nèi)容!

若文件不存在,系統(tǒng)會創(chuàng)建新的文件夾并寫入內(nèi)容

讀寫模式打開文件(追加內(nèi)容)——讀寫模式(a)

數(shù)據(jù)寫入之前:

數(shù)據(jù)寫入之后:

可以看到是在原先內(nèi)容的基礎上在文末追加新的內(nèi)容!

若文件不存在,系統(tǒng)會創(chuàng)建新的文件夾并寫入內(nèi)容

二進制模式打開文件

我們看到了在文件打開模式中有以下模式:rb、wb……有這種帶 b 的。

什么意思呢?

就是用二進制的方式打開文件。

很明顯,我們出現(xiàn)了以下錯誤:

主要原因是因為編碼的問題,可能是因為0x82這個字節(jié)在gbk編碼中沒有這個字符,

可能原字符是兩個字節(jié),在gbk里被解析成了一個字節(jié),導致字符不存在。

這就是我們文件打開方式需要使用二進制讀取的原因。

文件操作

open 函數(shù)負責打開文件,并且返回文件對象

read /write / close 三個方法都需要通過文件對象 來調用

文件和文件夾的操作

在Python中?件和?件夾的操作要借助os模塊??的相關功能,

具體步驟如下:

導?os模塊

使? os 模塊相關功能

1、文件重命名

2、刪除文件

3、創(chuàng)建文件夾

4、刪除文件夾

5、獲取當前目錄

6、改變默認目錄

7、獲取目錄列表

如何用Python打開指定的某個文件夾?比如我要用Python打開D盤里的一個普通文件,該怎么做

操作系統(tǒng)一般不允許程序直接操作磁盤文件的,文件在磁盤上的讀寫都是由操作系統(tǒng)提供的,文件操作包括創(chuàng)建、刪除、修改權限、讀取、寫入等。要想實現(xiàn)對文件的操作就需要請求操作系統(tǒng)打開一個文件對象,然后通過操作系統(tǒng)提供的接口來實現(xiàn)對文件讀寫的相關操作。讀寫文件是最常見的 I/O 操作,Python內(nèi)置相關API可以幫助我們快速的實現(xiàn)文件讀寫操作。

文件對象

Python內(nèi)置的 open() 函數(shù)可以用于打開指定文件 ,該函數(shù)會返回一個文件對象(該對象包含了當前文件擁有的屬性信息,相當于文件句柄)。參數(shù)file為要創(chuàng)建或打開文件的文件名稱,參數(shù)mode用于指定文件的打開模式(可選),參數(shù)buffering用于指定對文件做讀寫操作時是否使用緩沖區(qū)。在打開文件之后就可調用文件對象的屬性和方法,完成對文件的讀/寫操作之后最后需要關閉該文件,通過文件對象的close() 函數(shù)來實現(xiàn)即可。

打開模式

文件打開是可以指定其打開的模式,該參數(shù)通過mode來指定【默認模式為只讀(r)】。選擇不同的打開模式?jīng)Q定了后續(xù)可以對文件進行操作,如果使用 r 模式打開的文件則只能讀取文件而無法修改文件內(nèi)容。open()提供了多種打開模式,下面列出了對應的打開模式和說明:

python操作文本文件

在磁盤上讀寫文件之前,必須先打開這個文件。打開文件就需要提供文件的路徑。

在與Python程序同一個目錄下,我們有一個名為 pi.txt 的文件,它的內(nèi)容如下:

現(xiàn)在使用Python來打開和關閉它:

執(zhí)行此程序不會有任何輸出,這表示著打開和關閉文件都得到了正確執(zhí)行。

可以看到,使用 open() 函數(shù)打開文件,參數(shù)為文件名(或文件路徑);該函數(shù)會返回一個文件句柄,文件句柄并不會實際保存文件的內(nèi)容,而是代表著一種操作,在上面的例子中,文件句柄被賦值給變量 fhand 。

打開文件后,程序具有讀(默認)該文件的權限。

最后,使用文件句柄的 close() 方法關閉文件。這非常重要,因為使用完而沒有關閉的文件會占用內(nèi)存或造成安全問題。

如果Python找不到該文件,則會返回錯誤,比如下面這樣:

Python提示我們沒有相應的文件或者目錄: 'pii.txt'。

打開文件后就可以對文件進行操作:

fhand.read() 方法將文件內(nèi)容作為一個字符串返回。

文件中的每一行末尾使用換行符 \n 表示換行,例子中方法 rstrip() 去掉文本中的換行符,然后輸出。

程序的運行效果如下:

如果在文件關閉之前程序發(fā)生BUG意外退出,則文件不會關閉,為了避免此類事件的發(fā)生,可以使用 with 語句:

with 語句的特點是即便在操作文件時發(fā)生錯誤,文件也會自動被清理。

fhand.read() 雖然可以讀取文本內(nèi)容,但是當我們想要逐行處理文件內(nèi)容,或者文件很大而無法一次性加載進內(nèi)存的時候,就不適用了。

可以使用 for 語句逐行處理文件內(nèi)容:

本程序中將文件名保存在變量 filename 中。

打開文件后,使用 for 語句按行讀取文件內(nèi)容。例子中,每次循環(huán)依次取一行文本以字符串的格式保存在變量 line 中,每次循環(huán)中變量 count 自增1。

這個程序的作用是,打開程序所在目錄的 when_old.txt 文件,然后統(tǒng)計行數(shù),并輸出結果。

when_old.txt 文件的內(nèi)容是:

可以使用其他方法操作字符串 line :

程序將以 'And' 開頭的行打印出來。

打開文件后,默認的權限是讀(r),如果要寫文件,則需要使用寫(w)或者追加(a)權限。

w權限,打開一個文件用于寫入。如果該文件存在,則覆蓋該文件;如果該文件不存在,則創(chuàng)建該文件。

a權限,打開一個文件用于追加。如果該文件存在,在文件末尾追加;如果該文件不存在,則創(chuàng)建該文件。

下面是一個使用w權限打開文件的例子:

例子中使用w權限打開該文件,并寫入兩行。(如果該文件存在,則內(nèi)容會被覆蓋)

fhand.write() 不會自動添加換行符,所以如果需要換行,需在末尾添加 \n 。

下面我們寫一個統(tǒng)計文件中詞頻的程序。

它會統(tǒng)計文件中各個詞的出現(xiàn)的次數(shù),然后由高到低顯示出前5個詞。

首先我們完成打開和關閉文件的程序內(nèi)容:

在例子中,由用戶輸入文件名,并且使用異常捕獲以處理文件打開時的錯誤。

下面對內(nèi)容進行統(tǒng)計:

這個程序:

如此,我們就在字典中存放了 單詞:次數(shù) 的鍵值對。

由于字典不能保存順序,所以不能對其進行排序。為此,將每個鍵值對都添加到一個列表中:

在列表 word_list 中,每一項都是一個元組,每個元組第一個值是單詞出現(xiàn)的次數(shù),第二個值是單詞內(nèi)容。

對其進行逆向(由大到?。┡判颍?/p>

打印最終結果:

整個程序如下:

下面是程序運行結果的示例:


當前文章:python函數(shù)打開文件,Python如何打開文件
文章地址:http://weahome.cn/article/dscgchg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部