博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件与目标操作
阅读量:4050 次
发布时间:2019-05-25

本文共 1358 字,大约阅读时间需要 4 分钟。

-- Start

文件测试

有时候我们需要判断某个文件是否存在,很简单,使用 -e 即可,下面是一个简单例子。

#!/usr/bin/perlprint "请输入路径和文件名:\n";chomp (my $file = 
);if(! -e "$file") { print STDERR "找不到$file文件";}

除此之外,我们还可以通过下面的操作符来测试文件的其他属性。

文件测试操作符 意义
-r 文件或目录,对当前用户或组来说是可读的
-w 文件或目录,对当前用户或组来说是可写的
-x 文件或目录,对当前用户或组来说是可执行的
-o 文件或目录,由当前用户拥有
-R 文件或目录,对实际的用户或组来说是可读的
-W 文件或目录,对实际的用户或组来说是可写的
-X 文件或目录,对实际的用户或组来说是可执行的
-O 文件或目录,由实际的用户拥有
-e 文件或目录,是否存在
-z 是否为空文件
-s 返回文件或目录的大小
-f 是否为普通文件
-d 是否为目录
-l 是否为符号链接
-S 是否为socket
-p 是否为管道
-b 是否为块设备
-c 是否为字符设备
-u 是否设置了setuid位
-g 是否设置了setgid位
-k 是否设置了sticky位
-t 是否表示终端
-T 是否为文本文件
-B 是否为二进制文件
-M 距上次修改的天数
-A 距上次访问的天数
-C 距上次访问文件的inode的天数

事实上,文件还有许多其他属性,遗憾的是它们没有对应的测试操作符,幸运的是我们可以通过函数 stat 来取得这些属性,有关 stat 的更详细介绍请参见。

文件操作

 下面是一个对文件操作的简单例子。

#!/usr/bin/perl# 从当前目录找到所有的mp3文件my @files=glob "*.mp3"; # 方式 1foreach my $file (@files) {	unlink $fike; # 删除文件}# 从当前目录找到所有的log文件my @files=<*.log>; # 方式 2foreach my $file (@files) {	rename "$file", "$file.bak" # 重命名}

 

目录操作

 在 Perl 中,我们可以通过文件句柄来操作一个文件,事实上,我们也可以通过目录句柄来操作目录,下面是一个简单的例子。

#!/usr/bin/perlprint "请指定一个目录:\n";chomp (my $path = 
);# 打开目录句柄opendir DIR, $path or die "$!";# 查看目录中的子目录及文件foreach my $file (readdir DIR) { print "$file\n";}# 关闭目录句柄closedir DIR;

此外,Perl 还提供了一些操作目录的函数,如:chdir, mkdir, rmdir 等,更多关于如何操作文件和目录需要专用的模块。

-- 更多参见:

-- 声 明:转载请注明出处

-- Last Updated on 2012-07-12
-- Written by ShangBo on 2012-07-11
-- End

 

你可能感兴趣的文章
Love Your Life》—— 热爱生活
查看>>
一个高速交警的忠告
查看>>
新车装饰的中国特色
查看>>
没看过这么NB的自驾游,笑的我眼泪都出来了
查看>>
李涯的哭
查看>>
和机器学习和计算机视觉相关的数学
查看>>
论文MICO for MRI bias field estimation and tissue segmentation品讲
查看>>
后现代
查看>>
VMware6关机后出现is not a valid virtual machine configuration file的解决办法
查看>>
通过ASP实现flash对数据库的访问
查看>>
“==”和equals方法究竟有什么区别?
查看>>
哈佛图书馆墙上的20条训言
查看>>
交流引发深入思考
查看>>
保持我们母语的纯洁
查看>>
免费的互联网时代如何盈利?
查看>>
可怕的宣传力量
查看>>
症状:可以上网,可以上QQ,不能登陆360安全卫士,360浏览器无法同步,有道词典等无法登陆,无法查询。
查看>>
重读《触龙说赵太后》
查看>>
2010的第一次思想触动
查看>>
文学大师做菜艺术20个"须知"
查看>>