免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
精選2個(gè)小例子,帶你快速入門(mén)Python文件處理

這是菜鳥(niǎo)學(xué)python的第27篇原創(chuàng)文章

閱讀本文大概需要7分鐘

講完了函數(shù)和模塊,我們來(lái)講一講文件的使用,python對(duì)數(shù)據(jù)的處理分兩種一種是本地文件的處理另外一種是通過(guò)網(wǎng)絡(luò)數(shù)據(jù)處理(也就是爬蟲(chóng)相關(guān)).而本地的數(shù)據(jù)處理,主要是通過(guò)文件的讀和寫(xiě)完成~~

我們先想一想平時(shí)對(duì)文件處理一般遇到哪些問(wèn)題:

  • 如何讀取一個(gè)文件的內(nèi)容,然后處理,最后寫(xiě)到一個(gè)新的文件

  • 如何更改一個(gè)文件夾下的某一些文件名

這個(gè)兩個(gè)是非常常見(jiàn)的問(wèn)題,如何處理呢,python十幾行簡(jiǎn)單的代碼就能搞定,那我們快來(lái)學(xué)習(xí)一下吧:

Python的文件處理簡(jiǎn)單來(lái)說(shuō)分以下幾點(diǎn):

  • 文件的讀寫(xiě)和關(guān)閉

  • 文件的模式

  • 文件的讀取位置

1.文件的讀寫(xiě)和關(guān)閉

python中要想獲得文件里的內(nèi)容,先要打開(kāi)文件,然后才能讀和寫(xiě).而且寫(xiě)完之后一定要記得關(guān)閉.python中對(duì)文件的打開(kāi)是通過(guò)open函數(shù)來(lái)獲得一個(gè)句柄,

  • 獲得的句柄f,就可以用f.read()進(jìn)行讀入

  • 獲得寫(xiě)的句柄f之后,就可以f.write()進(jìn)行寫(xiě)入

  • 當(dāng)你文件處理完畢之后,要關(guān)閉文件.

(也許有同學(xué)問(wèn)為啥要關(guān)閉文件啊,因?yàn)槿舨徽jP(guān)閉,緩沖在內(nèi)存中的數(shù)據(jù)就不能真正寫(xiě)入到文件中,可能造成數(shù)據(jù)丟失)

1)文件的打開(kāi)

file_obj=open(filename,mode='r',buffering=-1)

#一共有3個(gè)參數(shù),第一個(gè)是強(qiáng)制參數(shù),后面兩個(gè)是可選的

#mode可以是讀,寫(xiě)或者追加,一般默認(rèn)是讀文件

#buffering主要是設(shè)置緩存區(qū),一般我們都是用-1表示用系統(tǒng)的默認(rèn)緩沖區(qū),若寫(xiě)100,表示緩沖區(qū)為100

2)文件的讀取

 f=open(r'somefile.txt')

 f.readline()#表示讀文件的一行

 f.readlines()#表示把文件從頭到尾都讀出來(lái),并保存為一個(gè)列表

3)文件的寫(xiě)入

 f=open(r'somefile.txt','w')

 f.write()#表示把字符串寫(xiě)入

 f.writelines()#表示把一個(gè)列表寫(xiě)入

4)文件的關(guān)閉

使用文件應(yīng)該牢記關(guān)閉#重要的事情說(shuō)3遍我已經(jīng)說(shuō)了3遍了

普通的關(guān)閉方法:

f=open(r'somefile.txt')

...xxx#do something

f.close()

懶人專(zhuān)用方法

with open(r'somefile.txt') as f:

f.readlines()

強(qiáng)烈推薦用with方法,這是pythonic里面非常推薦的一種方法,因?yàn)樗鼤?huì)自動(dòng)幫你關(guān)閉文件。你只要專(zhuān)注對(duì)文件的處理就可以了,是不是非常貼心~~

2.文件的模式

上面只列舉了python的讀和寫(xiě),那其他的模式怎么辦呢~~不要急,python只需要改變一下open里面的模式參數(shù)就可以.

python中有以下幾種模式,詳細(xì)見(jiàn)下表


3.文件的讀取位置

有的時(shí)候我們只想讀文件的一部分的內(nèi)容,或者我們需要從文件的某個(gè)位置讀數(shù)據(jù),應(yīng)該怎么操作呢,用seek()函數(shù)

file_obj.seek(offset,whence=0)

#seek主要是在文件中移動(dòng)指針,從whence(0表示文件頭,1表示當(dāng)前位置,2表示文件尾)偏移offset個(gè)字節(jié)

====123.txt===

123456789

1)從頭讀3個(gè)字符

f=open('123.txt')

f.seek(0,0)

print f.read(3)

f.close()

>>123

2)從尾讀3個(gè)字符

f=open('123.txt')

f.seek(-3,2)#2表示從文件指針指向尾巴,-3表示向前移動(dòng)3個(gè)字節(jié)

print f.read(3)#讀3個(gè)字節(jié)

f.close()

>>789

下面我們通過(guò)2個(gè)小例子講一下

假如你你有個(gè)叫Test目錄,它的結(jié)構(gòu)如下:

里面有2個(gè)文件,一個(gè)txt文件(里面有4行內(nèi)容),一個(gè)新建的demo.py

|----abc1109.txt---

Google

Micrisoft

BaiDu

Facebook

|----demo.py------

例子1:把a(bǔ)bc1109.txt里面的內(nèi)容讀出來(lái),寫(xiě)到一個(gè)新的文件,按照下面的格式:

|-----Output------

1: Google

2: Micrisoft

3: BaiDu

4: Facebook

先寫(xiě)一個(gè)粗糙的解法


接著我們把上面的代碼整理,重構(gòu)一下


上面的代碼重構(gòu)了一下是不是看的清晰一點(diǎn),而且用了with的用法簡(jiǎn)潔很多,是不是很爽,重構(gòu)其實(shí)是非常重要的技巧.其實(shí)這個(gè)例子有一點(diǎn)小問(wèn)題(就是沒(méi)有對(duì)文件加異常保護(hù),因?yàn)楫惓:竺嬖僦v,所以暫時(shí)先不寫(xiě)).

例子2:把Test目錄下面的2個(gè)txt文件改名字:

原來(lái)的:

|----abc1109.txt---------

|----new_abc1109.txt---

|----demo.py--------------

通過(guò)引入os模塊,把讀出來(lái)的文件名用字符串的內(nèi)置函數(shù)translate處理一下,就ok了,看源碼如下:


>> 改過(guò)名字后

|----abc.txt---------

|----new_abc.txt---

|----demo.py-------


好了Python的文件快速入門(mén)就講到這里啦,希望能給初學(xué)者一些啟發(fā),若有什么不懂的,也可以留言跟我探討交流.

最后說(shuō)一下,原創(chuàng)真的不易,希望大家能夠給點(diǎn)支持,歡迎轉(zhuǎn)發(fā),留言,也是對(duì)我的一點(diǎn)鼓勵(lì)和動(dòng)力.

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
python中的文件讀寫(xiě)
Python open()函數(shù)用法詳解
Python3 自學(xué)第14天:文件操作,文件句柄,上下文管理器
Python進(jìn)階系列(十五)
perl打開(kāi)讀取文件(open)
Python中的文件處理
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服