文件讀寫PPT教學(xué)課件.ppt_第1頁
文件讀寫PPT教學(xué)課件.ppt_第2頁
文件讀寫PPT教學(xué)課件.ppt_第3頁
文件讀寫PPT教學(xué)課件.ppt_第4頁
文件讀寫PPT教學(xué)課件.ppt_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Perl語言程序設(shè)計(jì),文件讀寫,1,一、打開、關(guān)閉文件,1.語法為open(filevar,filename),其中filevar為文件句柄,或者說是程序中用來代表某文件的代號,filename為文件名,其路徑可為相對路徑,亦可為絕對路徑。open(FILE1,file1);open(FILE1,/u/jqpublic/file1);open(FILE1,“ujqpublicfile1);,2,2.文件訪問模式打開文件時必須決定訪問模式,在PERL中有三種訪問模式:讀、寫和添加。寫模式:將原文件覆蓋,原有內(nèi)容丟失,形式為:open(outfile,“outfile”);添加模式:則在原文件的末尾處繼續(xù)添加內(nèi)容,形式為:open(appendfile,“appendfile”)。注意:不能對文件同時進(jìn)行讀和寫/添加操作。,3,3.open的返回值用來確定打開文件的操作是否成功,當(dāng)其成功時返回非零值,失敗時返回零,因此可以如下判斷:if(open(MYFILE,myfile)#hereswhattodoifthefileopenedsuccessfully當(dāng)文件打開失敗時結(jié)束程序:unless(open(MYFILE,file1)die(cannotopeninputfilefile1n);,4,亦可用邏輯或操作符表示如下:open(MYFILE,file1)|die(Couldnotopenfile);當(dāng)文件操作完畢后,用close(MYFILE);關(guān)閉文件。,5,二、讀文件,讀取文件一行數(shù)據(jù)語句$line=;從文件中讀取一行數(shù)據(jù)存儲到簡單變量$line中并把文件指針向后移動一行。為標(biāo)準(zhǔn)輸入文件,通常為鍵盤輸入,不需要打開。,6,讀取文件全部內(nèi)容語句array=;把文件的全部內(nèi)容讀入數(shù)組array,文件的每一行(含回車符)為array的一個元素,7,三、寫文件,形式為:open(OUTFILE,outfile);printOUTFILE(Hereisanoutputline.n);注:STDOUT、STDERR為標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤文件,通常為屏幕,且不需要打開。,8,四、判斷文件狀態(tài),1、文件測試操作符(-x)語法為:-opexpr,如:if(-e/path/file1)printSTDERR(Filefile1exists.n);,9,Perl的文件操作也可以先測試文件是否存在,是否可讀寫等。如:$x=abc.txt;if(-e$x)#abc.txt是否存在?#存在操作elseprintf文件不存在。n;-e操作符測試文件或目錄是否存在。以下為文件測試清單:,10,文件測試操作符,11,12,13,例:unless(open(INFILE,infile)die(Inputfileinfilecannotbeopened.n);if(-eoutfile)die(Outputfileoutfilealreadyexists.n);unless(open(OUTFILE,outfile)die(Outputfileoutfilecannotbeopened.n);等價于open(INFILE,infile),14,五、刪除文件,Perl的unlink()操作符可實(shí)現(xiàn)刪除文件。如:unlink(abc.txt);#刪除abc.txt,15,六文件重命名,Perl的rename()操作符可實(shí)現(xiàn)文件重命名。如:rename(abc,zmd)|die出錯,不能更名;此時將abc更名為zmd,成功返回真,否則給出出錯提示。,16,七目錄操作,Perl中處理目錄非常類似于處理文件。打開目錄句柄:opendir(ETC,/etc)|die出錯,不能打開目錄;關(guān)閉目錄句柄:closedir(ETC);,17,創(chuàng)建目錄:mkdir(“zmd”,0777)|die“不能創(chuàng)建zmd目錄”;0777為內(nèi)部權(quán)限格式。刪除目錄:rmdir(zmd)|die不能刪除zmd目錄。,18,八、命令行參數(shù),象C一樣,PERL也有存儲命令行參數(shù)的數(shù)組ARGV,可以用來分別處理各個命令行參數(shù);與C不同的是,$ARGV0是第一個參數(shù),而不是程序名本身。$var=$ARGV0;#第一個參數(shù)$numargs=ARGV;#參數(shù)的個數(shù),19,PERL中,操作符實(shí)際上是對數(shù)組ARGV的隱含的引用。其工作原理為:1、當(dāng)PERL解釋器第一次看到時,打開以$ARGV0為文件名的文件;2、執(zhí)行動作shift(ARGV);即把數(shù)組ARGV的元素向前移動一個,其元素?cái)?shù)量即減少了一個。,20,3、操作符讀取在第一步打開的文件中的所有行。4、讀完后,解釋器回到第一步重復(fù)。例:ARGV=(myfile1,myfile2);#實(shí)際上由命令行參數(shù)賦值while($line=)print($line);將把文件myfile1和myfile2的內(nèi)容打印出來。,21,九、打開管道,用程序的形式也可以象命令行一樣打開和使用管道(ex:lstempfile)。如語句open(MYPIPE,“|cathello”);打開一個管道,發(fā)送到MYPIPE的輸出成為命令“cathello”的輸入。,22,由于cat命令將顯示輸入文件的內(nèi)容,故該語句等價于open(MYPIPE,“hello”);用管道發(fā)送郵件如下:open(MESSAGE,|maildave);printMESSAGE(Hi,Dave!YourPerlprogramsentthis!n);close(MESSAGE);,23,小結(jié)Perl讀寫文本文件,1、文件名前面沒有表示讀文件open(FILE,C:test.txt;while(chomp;print$_n;close(FILE);,24,2、文件名前面有一個表示寫文件,并覆蓋原有內(nèi)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論