加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl关于文件夹操作(一)

发布时间:2020-12-15 23:48:34 所属栏目:大数据 来源:网络整理
导读:在用perl脚本读取文件夹信息的时候,基本操作类似与C语言的open函数,打开的文件夹要有类似文件指针。 opendir($dir_h,$ARGV[0]);my @dir_contents = readdir($dir_h); 这里的$dir_h就是指向来打开目录的指针。 要读取目录的信息需要用一个数据存储,@dir_co

在用perl脚本读取文件夹信息的时候,基本操作类似与C语言的open函数,打开的文件夹要有类似文件指针。

opendir($dir_h,$ARGV[0]);
my @dir_contents = readdir($dir_h);
这里的$dir_h就是指向来打开目录的指针。

要读取目录的信息需要用一个数据存储,@dir_contents的长度至少为2,因为目录至少包含 "."和".."子目录,要想判断目录是否为空,需要判断目录下是否只有"."和".."子目录,操作如下:

if( scalar(@contents1) == 2 ){
        &print_error("No files in the tow directories.");
        return 0;
}
有时候要比较目录内容,例如,要比较目录里面的内容是否一致,即是否包含的文件个数和文件名称是否一一对应,则可以直接对两个数组进行比较即可:

opendir(my $dir_head1,$ARGV[0]);
my @dir_contents_1 = readdir($dir_head1);
opendir(my $dir_head2,$ARGV[1]);
my @dir_contents_2 = readdir($dir_head2);

if( @dir_contents_1 == @dir_contents_2 ){
    print "equal.n";
}
不过有一定要格外注意,这里对数组的比较仅仅是数组内字符串的比较,无法区分文件和文件夹,仅仅是一种粗略比较, 在文件夹默认只包含文件而不包含子文件夹的时候可以使用这种比较方法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读