方法一:使用glob操作(获得绝对路径)
文件夹未带相关描述时仅显示当前路径:
my $dir ='F:\VirtualShare\NRT\2019183_14_02_igu1888';
my @files = glob( $dir );
foreach (@files ){
print $_ . "\n";
}
运行结果:
文件夹未带文件描述时仅显示当前目录下的文件:
my $dir ='F:\VirtualShare\NRT\2019183_14_02_igu1888\*';
my @files = glob( $dir );
foreach (@files ){
print $_ . "\n";
}
运行结果:
方法二:使用句柄的方式(获取相对路径下的文件名)
my $dir ='F:\VirtualShare\NRT\2019183_14_02_igu1888';
opendir(DIR, $dir) || die "Can't open directory $dir";
my @dots = readdir(DIR);
foreach (@dots){
print;
print "\n";
}
closedir DIR;
运行结果:
读取
文件
,并打印每一行的信息。
if(! open MYFILE, "<", "a.txt") { #打开一个
文件
句柄,作为输入,
文件
名是a.txt
die "Cannot open file: $!"; # 打印错误信息并退出
while(<MYFILE>){
print $_;
close MYFILE;
5.2 写文
如果你想用
Perl
读取一个
目录
下的所有
文件
名,你应该怎么办呢?一般来讲,我喜欢用两种方法。
第一种方法,直接用readdir来读取
目录
句柄。
下面展示一些 内联代码片。
use warnings;
use strict;
my $dir = "./test";
my $file;
my @dir;
opendir (DIR, $dir) or die "can't open the directory!";
@dir = readdir DIR;
foreach $file (@dir) {
打印出来的
目录
应该就是程序保存的位置
如果使用相对路径打开某个
文件
,
perl
会按当前
目录
定位这个相对路径
比如当前工作
目录
是/home/fred,运行以下代码来读取
文件
,
perl
会定位到/home/fred/relat
一、基本概念 1、相对路径-顾名思义,相对路径就是相对于当前
文件
的路径。网页中一般表示路径使用这个方法。
2、绝对路径-绝对路径就是你的主页上的
文件
或
目录
在硬盘上真正的路径。绝对路径就是你的主页上的
文件
或
目录
在硬盘上真正的路径,比如,你的
Perl
程序是存放在 c:/apache/cgi-bin 下的,那么 c:/apache/cgi-bin就是cgi-bin
目录
的绝对路径二、相对路
system “touch name_list.log”;
system “ls $dir_path >> name_list.log”;
list="namelist.log";open(INDIR,"list = "name_list.log";
open (IN_DIR,"list="namelist.log";open(INDIR,"list");
while($line = <IN_D