位置: 编程技术 - 正文

Perl文件读取的经典用法分享(perl中打开文件)

编辑:rootadmin

用Open() 函数打开文件

打开文件的常用方法是:

open() 函数通常带有两个参数,第一个为文件句柄,用于指向打开的文件,第二个参数是文件名及模式(文件的打开模式)的混合体,如果文件被成功打开,open()函数返回true,否则为false。我们用“or”来测试该条件。

上述代码中的模式由小于字符(<)来表示。如果文件不存在,open()将返回false。此时,你可以读文件句柄,但不可以写。

大于字符表示写。如果文件不存在,就会被创建。如果文件存在,文件被清除,以前的数据将会丢失。你可以写入文件句柄,但不可以读入。

如果文件不存在,添加模式(用两个大于符号表示)可以用来创建新文件,如果文件存在,该模式并不会清除原来的数据。

同“<”或“读”模式一样,你只能对文件句柄进行写操作。 (所以的写入内容都添加到文件尾)。企图进行读操作,会产生运行错误。

通过“+<”模式,你可以既可以读文件,又可以写文件。你可以通过tell() 函数在文件内部移动,通过seek()函数进行定位。如果文件不存在,就会被创建。如果文件已经存在,原来的数据不会被清除。

如果你打算清除原来的文件内容,或者自己调用truncate() 函数,或者使用“+>”模式。

注意“+<”和“+>”的区别,两者都可以可读可写。前者为非破坏性写,后者为破坏性写。

错误

错误是如何出现的?很多地方都会出现错误:如目录不存在,文件不可写入,你的程序丢失了文件句柄等等。

你应该检查系统调用的结果 (如open() 和sysopen()),看看是否调用成功。

为了帮助用户查错,通常使用“or die()”,你应记住这些用法。首先,应写出系统调用失败(“open”)的信息。其次,应写出文件名的信息,以便修正错误时更容易地定位。第三,要写出打开文件的方式, (“for writing,”“for appending”)。第四,输出操作系统的出错信息(包含在$!中)。这样,一旦出现文件不能打开的问题,使用你的程序的用户会大体上知道为什么不能打开。有时,我们把第一个和第三个合并在一起:or die "unable to append to $filename: $!";

如果在open() 和出错信息中都写了文件的全名,你会冒改变了open() 的风险,使得出错信息不合时宜或不正确。

用 Sysopen()进行更多的控制为了更好的控制文件的打开方式,可以使用 sysopen() 函数:

函数 sysopen() 带有四个参数,第一个是同open()函数类似的文件句柄参数,第二个参数是不带模式信息的文件名,第三个参数是模式参数,由Fcntl 模块提供的逻辑OR运算组合起来的常数构成,第四个参数(可选),为八进制属性值(表示数据文件, 表示程序)。如果文件可以被打开,sysopen() 返回true,如果打开失败,则返回false。

不同于open()函数,sysopen()不提供模式说明的简写方式,而是把一些常数组合起来,而且,每个模式常数有唯一的含义,只有通过逻辑OR运算才能将它们组合起来,你可以设置多个行为的组合。

O_RDONLYRead-onlyO_WRONLY Write-onlyO_RDWR Reading and writingO_APPEND Writes go to the end of the fileO_TRUNC Truncate the file if it existedO_CREAT Create the file if it didn't existO_EXCLError if the file already existed (used with O_CREAT)

当你需要小心行事的时候,就使用sysopen() 函数,例如,如果你打算添加内容到文件中,如果文件不存在,不创建新文件,可以这样写:

推荐整理分享Perl文件读取的经典用法分享(perl中打开文件),希望有所帮助,仅作参考,欢迎阅读内容。

Perl文件读取的经典用法分享(perl中打开文件)

文章相关热门搜索词:perl获取文件大小,perl读取文件内容逐行处理,perl获取文件路径,perl获取文件路径,perl获取文件路径,perl读取文件内容到变量,perl读取文件内容逐行处理,perl读取文件内容逐行处理,内容如对您有帮助,希望把文章链接给更多的朋友!

perl大文件读取处理的模块介绍 该模块用perl的数组代表一个文件,文件的每一行对应数组的一个元素,第一行为元素0,第二回为1,...文件本身实际并不加载到内存,对数组元素的操

perl跳过首行读取文件的实现代码 #!/usr/bin/perlopen(READ,"$file");readlineREAD;#skipthefirstlinewhile(READ){my($id,$axis1,$axis2,$axis3,$value)=split//;$line=sprintf("%d%d%d%d%d%d",$id,$axis1,$axis2,$axis3,$value,$axis1+$axis2);prin

Perl split字符串分割函数用法指南 本文和大家重点讨论一下Perlsplit函数的用法,Perl中的一个非常有用的函数是Perlsplit函数-把字符串进行分割并把分割后的结果放入数组中。这个Perlsplit

标签: perl中打开文件

本文链接地址:https://www.jiuchutong.com/biancheng/372491.html 转载请保留说明!

上一篇:perl控制流介绍(if条件,while,for循环,foreach)(如何执行perl脚本)

下一篇:perl大文件读取处理的模块介绍(perl读取文件内容逐行处理)

  • 研发费用加计扣除75%还是100%
  • 临时税务登记的小规模纳税人 个人所得税如何申报
  • 政府补贴款需要缴纳增值税
  • 金蝶迷你版年结怎么操作
  • 如何在金蝶算季度利润表发生额
  • 借已交税金贷银行存款
  • 主营业务成本可以暂估吗
  • 小规模核定征收需要做账吗
  • 中兴通技术维护费
  • 收取员工宿舍租金收入要交增值税吗
  • 购买可供出售金融资产的交易费用
  • 销售人员的销售总额怎么算
  • 海关进口需要什么手续
  • 公司租个人车辆如何办理
  • 税务需要申报吗
  • 税控技术服务费怎么做账
  • 暂估收入是否暂列金额
  • 特定行业职工取得的工资、薪金所得,如何计算个人所得税?
  • 企业可以同时按一般纳税和按小规模纳税吗?
  • 资本公积转增的股票可以转让吗
  • 积分现金兑换比例怎样计算
  • 固定资产什么时候增加
  • 一个月的销售额
  • 购买承兑汇票怎么做账
  • 管理员已阻止你运行此应用 win10
  • 华为鸿蒙系统怎么降级版本
  • pop是什么文件
  • 固定资产付款流程
  • vit详解
  • 销售退换货的账务处理
  • 深度学习模型部署综述(ONNX/NCNN/OpenVINO/TensorRT)
  • 睿智目标检测yolov8
  • php_curl.dll
  • 预缴增值税怎么算
  • 哪些公司不交五险一金
  • 家具采购单
  • java守护线程和普通线程jvm区别
  • 织梦配置文件
  • python从键盘输入正整数n,计算1+2+3
  • 被投资公司注销,投资收益需要交企业所得税你吗
  • 航空电子客票行程单是发票吗
  • 存货的期末余额是账面余额吗
  • 个人如何开增值税普通电子发票
  • 预计负债转回对所得税费用的影响
  • 交易性金融资产的账务处理
  • 应收账款收不回来怎么处理分录
  • 事业单位对外投资
  • 明细账分类账登记
  • 无法确定退货率的处理
  • 没进项发票开销项发票可以吗?
  • 管家婆进货单怎么录入?
  • 开出发票后直接做账吗?
  • 咨询公司销售费用有哪些
  • 增加个税信息怎么增加
  • sql server怎么改数据
  • 通过分析SQL语句的执行计划优化SQL
  • mysql 5.6 从陌生到熟练之_数据库备份恢复的实现方法
  • 在Linux环境下mysql的root密码忘记解决方法(三种)
  • centos安装编译环境
  • mysql5717安装详细过程
  • win7卸载KB2952664/KB3035583补丁的详细图文教程
  • debian更新软件
  • windows7的所有操作都可以从( )
  • linux chkdsk
  • win7报错0x0000007b
  • glCopyBufferSubData
  • nodejs操作mysql
  • 详解JavaScript ES6中的Generator
  • Linux CentOS系统下安装node.js与express的方法
  • mongoose教程
  • python-shell
  • python 钉钉打卡定位
  • unity3d粒子系统创建火花
  • javascript中checkbox使用方法简单实例演示
  • 老司机指的是
  • 北京地税电话咨询
  • 东莞税务申报日期
  • 进口设备需要资质吗
  • 浙江省国税局地址
  • 专票一个单位一张可以吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设