最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python基礎之文件處理知識總結(jié)

 更新時間:2021年05月23日 14:49:57   作者:wangdd_199326  
今天帶大家了解python文件處理的相關知識,文中介紹的非常詳細,對正在學習python的小伙伴們很有幫助,需要的朋友可以參考下

一、open()方法

python open()方法用于打開一個文件,并返回文件對象,在對文件處理的過程中都需要用到這個函數(shù),如果文件無法打開,會拋出OSError。

注意:使用open()方法的時候一定到保證關閉文件對象,文件里面的內(nèi)容才會被保存,關閉文件需要調(diào)用close()方法。

open()方法常用的形式是接收兩個參數(shù):文件名(file)和模式(mode)

基本語法

open(file,mode='r')

完整的語法:

open(file,mode='r',buffering=1,encoding=None,errors=None,newline=None,closefd=True)

參數(shù)說明:

  • file: 必須的,表示某個路徑下文件名(可以是相對路徑,也可以是絕對路徑) 
  • mode:可選參數(shù),文件打開的模式    
  • buffering: 設置緩沖
  • encoding: 編碼,一般用utf8
  • errors: 報錯級別
  • newline:區(qū)分換行符
  • closefd:傳入的file參數(shù)類型

mode表示文件打開模式,有幾種模式呢?參考如下:

  • r: 以只讀的方式打開文件。文件的指針將會放到文件的開頭。這是文件默認的打開模式
  • w:  打開一個文件只能用于寫入。如果文件存在則打開文件,并且從頭開始編輯,文件原有的內(nèi)容會被清空。如果文件不存在,則會創(chuàng)建新的文件
  • a:  打開一個文件用于在里面追加內(nèi)容。如果文件已經(jīng)存在,文件指針將會放在文件的結(jié)尾。也就是新的內(nèi)容會被寫道已有的內(nèi)容之后。如果該文件不存在的話,創(chuàng)建新文件進行寫入
  • r+:打開一個文件用于讀寫,文件指針將會放在文件的開頭
  • a+: 打開一個文件用于讀寫,如果文件已經(jīng)存在,文件指針將會放在文件的結(jié)尾,文件打開時回事追加模式,如果該文件不存在,創(chuàng)建新的文件用于讀寫
  • w+: 打開一個文件用于讀寫。如果該文件已經(jīng)存在,則打開已經(jīng)存在文件,并且從頭開始編輯,即原有的內(nèi)容會被刪除。如果該文件不存在,則創(chuàng)建新文件
  • b: 二進制文件
  • rb:以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。這是默認的模式,一般用于非文本文件,如圖片,視頻等
  • wb: 以二進制格式打開一個文件只用于寫入。如果該文件已經(jīng)存在則打開文件,并從文件的開頭開始編輯,即原有的內(nèi)容會被刪除,如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件,如圖片,視頻等
  • ab:以二進制格式打開一個文件用于追加,如果該文件已經(jīng)存在,文件指針將會放在文件的結(jié)尾,也就是說,新的內(nèi)容將會被寫道已有的內(nèi)容之后,如果該文件不存在,則創(chuàng)建新的文件并寫入
  • ab+:以二進制格式打開一個文件用于追加,如果該文件已經(jīng)存在,文件指針將會放在文件的結(jié)尾,如果該文件不存在,創(chuàng)建新的文件用于讀寫

例1:以w模式打開文件

f = open('myfile.txt', 'w')
f.write('hello,world!')
f.close()
 
##輸出結(jié)果
在當前路徑下成一個myfile.txt文件,并且把'hello world'寫到該文件
 
myfile.txt內(nèi)容如下:
hello,world!

例2: 以a模式打開文件

f=open('myfile.txt','a')
f.write('\ngood lucky')
f.close()
 
##輸出結(jié)果:
會在文件末尾追加內(nèi)容,不會覆蓋原來的內(nèi)容
 
myfile.txt內(nèi)容如下:
hello,world!
good,lucky!

例3: 再以w模式打開文件,會把原來內(nèi)容覆蓋掉

f = open('myfile.txt', 'w')
f.write('welcome!')
f.close()
 
##輸出內(nèi)容:
 
myfile.txt內(nèi)容如下:
welcome!

例4: 以r的模式讀文件

f = open('myfile.txt', 'r') #以r模式讀文件,再往里面write會報錯
f.write('\nhello!')
f.close()
 
## 輸出內(nèi)容:
    f.write('\nhello!')
io.UnsupportedOperation: not writable

例5: 以r+的模式讀文件

f = open('myfile.txt', 'r+') 
f.write('\nhello!')
f.close()
 
##輸出結(jié)果
r+:打開一個文件用于讀寫,文件指針將會放在文件的開頭
 
myfile.txt內(nèi)容:
1--------------> 此處表示空行
2hello!

例6: 以w+模式寫文件

f = open('myfile.txt', 'w+')
f.write('love!')
f.close()
 
##輸出結(jié)果:
如果該文件已經(jīng)存在,則打開已經(jīng)存在文件,并且從頭開始編輯,即原有的內(nèi)容會被刪除。如果該文件不存在,則創(chuàng)建新文件。
 
myfile.txt內(nèi)容:
love!

二、read()方法

讀取文件中的所有內(nèi)容,讀取之后光標移動到文件末尾。 必須以r或r+模式,才可以使用read()。

例7: 以w+模式寫文件,再以r+模式來讀取文件內(nèi)容

f = open('myfile.txt', 'w+')
f.write('hello,world!\ngood,lucky!!')
f.close()
 
##輸出結(jié)果:
w+ 如果該文件已經(jīng)存在,則打開已經(jīng)存在文件,并且從頭開始編輯,即原有的內(nèi)容會被刪除。如果該文件不存在,則創(chuàng)建新文件。
 
myfile.txt內(nèi)容:
hello,world!
good,lucky!!
f = open('myfile.txt', 'r+') #
print(f.read())
 
##輸出結(jié)果:
hello,world!
good,lucky!!

例8:以r+模式寫文件,再來讀取文件

f = open('myfile.txt', 'r+') #以r+的模式,會將文件指針放在開頭,然后將指定字符替換掉文件中原來的字符  
f.write('\nwelcom')
print(f.read())
 
##輸出結(jié)果:
rld!
good,lucky!!
 
#myfile.txt內(nèi)容如下:
1----------->空行
2welcomrld!
3good,lucky!!

三、readlines()方法

readlines()一行行讀文件

例9:

f = open('myfile.txt', 'r+')
print(f.readline())
print(f.readline())
print(f.readline())
 
##輸出結(jié)果
 
 
welcomrld!
 
good,lucky!!

readlines()

一行行讀取文件內(nèi)容,然后存放在列表中,可以讀取所有行的內(nèi)容,每行的內(nèi)容都作為列表中的一個元素存在列表里,并且返回一個列表。 這個列表可以使用for..in 結(jié)構進行處理。 如果碰到EOF結(jié)束符,則返回空字符。

例10:

f = open('myfile.txt', 'r')
print(f.readlines())
 
##輸出內(nèi)容:
['\n', 'welcomrld!\n', 'good,lucky!!']
 
 
 
f = open('myfile.txt', 'r')
for i in f.readlines():
    i = i.strip()   # 去掉空格,如\n換行符
    print(i)
 
##輸出內(nèi)容:
----------->空行
welcomrld!
good,lucky!!

四、seek()方法

seek() 用于移動文件讀取指針到指定位置

語法如下:f.seek(offset,[,whence])
offset--開始的偏移量,也就是代表需要移動偏移的字節(jié)數(shù),如果是負數(shù),表示從倒數(shù)第幾位開始
whence--可選參數(shù),默認是0。給offset定義一個參數(shù),表示從哪個位置開始偏移;0代表從文件開頭算起;1代表從當前位置開始算起;2代表從文件末尾算起。 

如果操作成功,則返回新的文件位置;如果操作失敗,返回-1

例11:

f = open('workfile.txt', 'wb+')
print(f.write(b'0123456789abcde'))
f.seek(5)
print(f.read(1))
f.seek(-3,2)
print(f.read(1))
 
##輸出結(jié)果:
15
b'5'
b'c'
 
workfile.txt內(nèi)容如下:
0123456789abcde

例12:

f = open('myfile.txt', 'r')
print('filename is :',f.name)
line=f.readline().strip()           ##去掉\n
print('第一次讀取的數(shù)據(jù)是%s' % (line))
f.seek(0, 0)                        ##第一個0表示偏移量為0,第二個0表示從文件頭開始偏移
line=f.readline().strip()
print('第二次讀取的數(shù)據(jù)是%s' % (line))
 
##輸出內(nèi)容:
filename is : myfile.txt
第一次讀取的數(shù)據(jù)是good,lucky!!
第二次讀取的數(shù)據(jù)是good,lucky!!
 
myfile.txt內(nèi)容如下:
good,lucky!!
##去掉 f.seek(0, 0),運行結(jié)果如下:
f = open('myfile.txt', 'r')
print('filename is :',f.name)
line=f.readline().strip()
print('第一次讀取的數(shù)據(jù)是%s' % (line))
line=f.readline().strip()
print('第二次讀取的數(shù)據(jù)是%s' % (line))
 
##運行結(jié)果如下:
filename is : myfile.txt
第一次讀取的數(shù)據(jù)是good,lucky!!
第二次讀取的數(shù)據(jù)是

五、tell()函數(shù) 

返回文件的當前位置

參考: https://www.runoob.com/python/file-tell.html

f = open('myfile.txt', 'r+')
print('filename is :', f.name)
line=f.readline()
print('讀取的數(shù)據(jù)是%s' % (line))
 
 
line1=f.readline()
print('讀取的數(shù)據(jù)是%s' % (line1))
pos=f.tell()
print('current position is %d:' % (pos) )
f.close()
 
##輸出結(jié)果
filename is : myfile.txt
讀取的數(shù)據(jù)是good,lucky!!
讀取的數(shù)據(jù)是
current position is 12:
 
myfile.txt內(nèi)容如下:
good,lucky!!
 
 
 
 
##輸出結(jié)果
filename is : myfile.txt
讀取的數(shù)據(jù)是good,lucky!!
 
讀取的數(shù)據(jù)是g
current position is 15:
 
myfile.txt內(nèi)容如下:
good,lucky!!
g

到此這篇關于python基礎之文件處理知識總結(jié)的文章就介紹到這了,更多相關python文件處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python網(wǎng)絡爬蟲實戰(zhàn)

    python網(wǎng)絡爬蟲實戰(zhàn)

    實踐來源于理論,做爬蟲前肯定要先了解相關的規(guī)則和原理,網(wǎng)絡爬蟲又稱為網(wǎng)頁蜘蛛,網(wǎng)絡機器人,更經(jīng)常的稱為網(wǎng)頁追逐者,是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。一句話概括就是網(wǎng)上信息搬運工。本篇文章帶你深入了解,需要的朋友可以參考下
    2021-09-09
  • Python中socket網(wǎng)絡通信是干嘛的

    Python中socket網(wǎng)絡通信是干嘛的

    在本篇文章里小編給大家分享的是關于Python中socket網(wǎng)絡通信知識點內(nèi)容,需要的朋友們可以跟著學習下。
    2020-05-05
  • python縮進區(qū)別分析

    python縮進區(qū)別分析

    這篇文章主要介紹了python縮進區(qū)別分析,需要的朋友可以參考下
    2014-02-02
  • Python 3.6 中使用pdfminer解析pdf文件的實現(xiàn)

    Python 3.6 中使用pdfminer解析pdf文件的實現(xiàn)

    這篇文章主要介紹了Python 3.6 中使用pdfminer解析pdf文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • python遞歸查詢菜單并轉(zhuǎn)換成json實例

    python遞歸查詢菜單并轉(zhuǎn)換成json實例

    本篇文章主要介紹了python遞歸查詢菜單并轉(zhuǎn)換成json實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • python中的腳本性能分析

    python中的腳本性能分析

    這篇文章主要介紹了python中的腳本性能分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python常用列表數(shù)據(jù)結(jié)構小結(jié)

    Python常用列表數(shù)據(jù)結(jié)構小結(jié)

    這篇文章主要介紹了Python常用列表數(shù)據(jù)結(jié)構小結(jié),很有參考借鑒價值,需要的朋友可以參考下
    2014-08-08
  • 編寫自定義的Django模板加載器的簡單示例

    編寫自定義的Django模板加載器的簡單示例

    這篇文章主要介紹了編寫自定義的Django模板加載器的簡單示例,Django是各色人氣Python框架中最為著名的一個,需要的朋友可以參考下
    2015-07-07
  • python實現(xiàn)類似ftp傳輸文件的網(wǎng)絡程序示例

    python實現(xiàn)類似ftp傳輸文件的網(wǎng)絡程序示例

    這篇文章主要介紹了python實現(xiàn)類似ftp傳輸文件的網(wǎng)絡程序示例,需要的朋友可以參考下
    2014-04-04
  • Python3的進程和線程你了解嗎

    Python3的進程和線程你了解嗎

    這篇文章主要為大家詳細介紹了Python3進程和線程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03

最新評論

上杭县| 京山县| 清新县| 长宁县| 邢台县| 北流市| 手游| 阳山县| 绩溪县| 驻马店市| 玉林市| 乡城县| 边坝县| 淅川县| 灯塔市| 二连浩特市| 屯门区| 贵州省| 肇州县| 固始县| 西和县| 蒙阴县| 康马县| 突泉县| 湄潭县| 五常市| 宣汉县| 会宁县| 屯昌县| 密山市| 湖南省| 阳高县| 林西县| 潮州市| 延津县| 年辖:市辖区| 开远市| 繁昌县| 南阳市| 广平县| 沧州市|