版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
open(name[,open(name[,mode[, >>>>>>f=Traceback(mostrecentcalllast):FileTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>IOError:[Errno2]Nosuchfileordirectory: 'r+能在打開一個(gè)文本 可以用來(lái)一個(gè)二進(jìn)制文件。如果使用二進(jìn)制模式來(lái)(寫入)文件的話,與使用文本模式不會(huì)有很大區(qū)別。仍然能讀一定
轉(zhuǎn)換
0 0
對(duì)象是支持一些類方法的對(duì)象,最重要的是支持read方法或者方法,或者兩者
第10sys模塊的部分曾經(jīng)提到過3種流。它們實(shí)際上是文件(或者是類文件對(duì)象):大 >>>>>>f=open("somefile.txt",>>> o,>>>f.write("World!")>>> >>>>>>f=open("somefile.txt",>>>f.read(4) 'o,World!'首先指定了我要的字符數(shù) ,然后(通過不提供要的字符數(shù)的方式)了剩下的文 下面這個(gè)例子(假設(shè)是GUNbash)。$$catsomefile.txt|pythonsomescript.py| MacOSX中,是通過Terminal程序,可以使用s cat )catpython 。應(yīng)該是從標(biāo)準(zhǔn)輸入python | |cat 中數(shù)據(jù)( cat 的一個(gè)簡(jiǎn)單的( 內(nèi)容如代碼11-2所示。##11-1統(tǒng)計(jì)`sys.stdin`#importtext=sys.stdin.read()words=text.split()wordcount=len(words)print"Wordcount:",wordcount#代碼 11-2包含示例文本的文件Yourmotherwasahamsterandyourfathersmelledof下面 Wordcount:Wordcount:ll
seek(offset[,seek(offset[, >>>>>>f=open(r"c:\text\somefile.txt",>>>>>>>>>>>>o,>>>f=>>>>>> o, >>>f=>>>>>>>>>>>>>>> >>>
"o, "o, readlines相反:傳給它一個(gè)字符串的列表(實(shí)際上任何序列或者可迭代的
##Openyourfilehere#Writedatatoyourfile 語(yǔ)句withwithopen("somefile.txt")assomefile: fromfrom import
文件可以被用作上下文管理器。它們的 假 ##代 11-3一個(gè)簡(jiǎn)單的文本文etothisThereisnothinghereexceptThisstupid >>>>>>f=>>>f.read(7) >>>f.read(4)'to>>>然后 >>>>>>f=>>>printetothisThereisnothinghereexceptThisstupid>>>接著 >>>>>>f=>>>foriinprintstr(i)+":"+etothis1:Thereisnothinghereexcept2:Thisstupidhaiku>>>以 >>>>>>import>>> etothisfile\n','Thereisnothinghereexcept\n','Thisstupid>>>f>>>f=open(r"C:\text\somefile.txt",>>>f.write("this\nis>>>##代 11-4修改了的文本文thisisno最后 >>>>>>f=>>>lines=>>>>>>lines[1]="isn't>>>f=open(r"C:\text\somefile.txt",>>> >>>##代 11-5再次修改的文本文(
defdefprint"Processing:",
##代 11-6用read方法對(duì)每個(gè)字符進(jìn)行循f=open(filename)char=f.read(1)whilechar:char=f.read(1)
charf.read(1被重復(fù)地使用,代碼重復(fù)通常被認(rèn)為是一件壞事。(懶 ##代 11-7用不同的方式寫循f=open(filename)whileTrue:char=f.read()ifnotchar:break語(yǔ)句不應(yīng)該頻繁地使用(因?yàn)檫@樣會(huì)讓代碼很難懂);盡管如此,代 ##代碼 11-8在while循環(huán)中使用readlinef=open(filename)whileline=f.readline()ifnotline:如果文是很大么可以不帶參的 方法一整個(gè)把整個(gè)做一個(gè)字來(lái),者用 方法(文讀入一符串列在列表個(gè)字符串就行)。碼和碼展示這文件時(shí)字符串上進(jìn)行迭多么容注意,件的內(nèi)入一個(gè)串或者入列表他時(shí)候很有用。在就可以符串使則表達(dá)作,也將行列入一些據(jù)結(jié)構(gòu)中備將來(lái)。##代 11-9用read迭代每個(gè)字f=open(filename)forcharinf.read():#代 11-10用readlines迭代f=forlineinf.readlines():使 實(shí)現(xiàn)懶惰行迭在需要對(duì)一個(gè)非常大的文件進(jìn)行行迭代的操作時(shí),會(huì)占用太多的內(nèi)存。這個(gè)時(shí)候可以使用readline方法來(lái)替代。當(dāng)然,在Pythonfor循環(huán),那么它就是首選。本例恰好可以使用循環(huán)可以使用一個(gè)名為懶惰行迭代的方法:說它懶惰第十章內(nèi)已經(jīng)介紹過,代碼11-11演示了它的用法。注意,模塊包##代 11-11用fileinput來(lái)對(duì)行進(jìn)行迭importforlineinfileinput.input(filename): 實(shí)現(xiàn)懶惰行迭代。它的工作方式和readlines很類 紹)
們,從而對(duì)它們進(jìn)行迭代。如代碼11-12所示,很優(yōu)雅,不是嗎?
##代 11-12迭代文f=open(filename)forlineinf:f責(zé)關(guān)閉文件(也就是剛才所做的),那么例子應(yīng)該進(jìn)一步簡(jiǎn)化,如代碼11-13所示。在那個(gè)f
##代 11-13對(duì)文件進(jìn)行迭代而不使用變 forlineinopen(filename): importimportforlineinsys.stdin:>>>>>>f=open("somefile.txt",>>>f.write("First>>>f.write("Second>>>f.write("Third>>>>>>lines=>>>['Firstline\n','Secondline\n','Third>>>first,second,third=>>>first'First>>>second'Second>>>third'Third?在使
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度法律事務(wù)代理服務(wù)合同范本
- 智能機(jī)器人技術(shù)研究-第1篇-深度研究
- 2025年度綠色建材采購(gòu)與木工班組承包合作協(xié)議3篇
- 二零二五年度吹填區(qū)地質(zhì)災(zāi)害防治合同3篇
- 2025版農(nóng)業(yè)科研試驗(yàn)基地土地租賃合同樣本3篇
- 2025年度寵物醫(yī)院管理人員綜合能力培養(yǎng)聘用協(xié)議3篇
- 2025年度個(gè)人醫(yī)療緊急救治過橋資金借款協(xié)議3篇
- 2025年度民用爆破器材研發(fā)與采購(gòu)一體化合同4篇
- 二零二五年度電商平臺(tái)虛擬貨幣交易合作協(xié)議7篇
- 2025年度企業(yè)定制化個(gè)人租車服務(wù)合作協(xié)議2篇
- 特魯索綜合征
- 《向心力》 教學(xué)課件
- 結(jié)構(gòu)力學(xué)數(shù)值方法:邊界元法(BEM):邊界元法的基本原理與步驟
- 2024年山東省泰安市高考語(yǔ)文一模試卷
- 工程建設(shè)行業(yè)標(biāo)準(zhǔn)內(nèi)置保溫現(xiàn)澆混凝土復(fù)合剪力墻技術(shù)規(guī)程
- 北師大版物理九年級(jí)全一冊(cè)課件
- 2024年第三師圖木舒克市市場(chǎng)監(jiān)督管理局招錄2人《行政職業(yè)能力測(cè)驗(yàn)》高頻考點(diǎn)、難點(diǎn)(含詳細(xì)答案)
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗(yàn)收規(guī)范(暫行)
- 盆腔炎教學(xué)查房課件
- 新概念英語(yǔ)課件NCE3-lesson15(共34張)
- GB/T 3683-2023橡膠軟管及軟管組合件油基或水基流體適用的鋼絲編織增強(qiáng)液壓型規(guī)范
評(píng)論
0/150
提交評(píng)論