文件读写PPT教学课件.ppt_第1页
文件读写PPT教学课件.ppt_第2页
文件读写PPT教学课件.ppt_第3页
文件读写PPT教学课件.ppt_第4页
文件读写PPT教学课件.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Perl语言程序设计,文件读写,1,一、打开、关闭文件,1.语法为open(filevar,filename),其中filevar为文件句柄,或者说是程序中用来代表某文件的代号,filename为文件名,其路径可为相对路径,亦可为绝对路径。open(FILE1,file1);open(FILE1,/u/jqpublic/file1);open(FILE1,“ujqpublicfile1);,2,2.文件访问模式打开文件时必须决定访问模式,在PERL中有三种访问模式:读、写和添加。写模式:将原文件覆盖,原有内容丢失,形式为:open(outfile,“outfile”);添加模式:则在原文件的末尾处继续添加内容,形式为:open(appendfile,“appendfile”)。注意:不能对文件同时进行读和写/添加操作。,3,3.open的返回值用来确定打开文件的操作是否成功,当其成功时返回非零值,失败时返回零,因此可以如下判断:if(open(MYFILE,myfile)#hereswhattodoifthefileopenedsuccessfully当文件打开失败时结束程序:unless(open(MYFILE,file1)die(cannotopeninputfilefile1n);,4,亦可用逻辑或操作符表示如下:open(MYFILE,file1)|die(Couldnotopenfile);当文件操作完毕后,用close(MYFILE);关闭文件。,5,二、读文件,读取文件一行数据语句$line=;从文件中读取一行数据存储到简单变量$line中并把文件指针向后移动一行。为标准输入文件,通常为键盘输入,不需要打开。,6,读取文件全部内容语句array=;把文件的全部内容读入数组array,文件的每一行(含回车符)为array的一个元素,7,三、写文件,形式为:open(OUTFILE,outfile);printOUTFILE(Hereisanoutputline.n);注:STDOUT、STDERR为标准输出和标准错误文件,通常为屏幕,且不需要打开。,8,四、判断文件状态,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()操作符可实现删除文件。如:unlink(abc.txt);#删除abc.txt,15,六文件重命名,Perl的rename()操作符可实现文件重命名。如:rename(abc,zmd)|die出错,不能更名;此时将abc更名为zmd,成功返回真,否则给出出错提示。,16,七目录操作,Perl中处理目录非常类似于处理文件。打开目录句柄:opendir(ETC,/etc)|die出错,不能打开目录;关闭目录句柄:closedir(ETC);,17,创建目录:mkdir(“zmd”,0777)|die“不能创建zmd目录”;0777为内部权限格式。删除目录:rmdir(zmd)|die不能删除zmd目录。,18,八、命令行参数,象C一样,PERL也有存储命令行参数的数组ARGV,可以用来分别处理各个命令行参数;与C不同的是,$ARGV0是第一个参数,而不是程序名本身。$var=$ARGV0;#第一个参数$numargs=ARGV;#参数的个数,19,PERL中,操作符实际上是对数组ARGV的隐含的引用。其工作原理为:1、当PERL解释器第一次看到时,打开以$ARGV0为文件名的文件;2、执行动作shift(ARGV);即把数组ARGV的元素向前移动一个,其元素数量即减少了一个。,20,3、操作符读取在第一步打开的文件中的所有行。4、读完后,解释器回到第一步重复。例:ARGV=(myfile1,myfile2);#实际上由命令行参数赋值while($line=)print($line);将把文件myfile1和myfile2的内容打印出来。,21,九、打开管道,用程序的形式也可以象命令行一样打开和使用管道(ex:lstempfile)。如语句open(MYPIPE,“|cathello”);打开一个管道,发送到MYPIPE的输出成为命令“cathello”的输入。,22,由于cat命令将显示输入文件的内容,故该语句等价于open(MYPIPE,“hello”);用管道发送邮件如下:open(MESSAGE,|maildave);printMESSAGE(Hi,Dave!YourPerlprogramsentthis!n);close(MESSAGE);,23,小结Perl读写文本文件,1、文件名前面没有表示读文件open(FILE,C:test.txt;while(chomp;print$_n;close(FILE);,24,2、文件名前面有一个表示写文件,并覆盖原有内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论