本文和大家重点讨论一下Perl目录操作函数的概念
,
这里主要介绍一下九种Perl目录操作函数的用法,希望通过本文的学习你对Perl目录操作函数的概念有所了解。
Perl目录操作函数:
Perl自带的函数远不及php多,但功能确实很强大,实现起来也只有几行代码。
1、Perl目录操作函数之mkdir函数
调用语法:mkdir(dirname,permisions)
dirname:将要创建的目录名,可以为字符串或表达式、
permisions:八进制数,指定目录的访问权限、
目录的访问权限、其值和意义如下:
权限 值权限
4000运行时设置用户ID
2000运行时设置组ID
1000粘贴位
0400拥有者读权限
0200拥有者写权限
0100拥有者执行权限
0040组读权限
0020组写权限
0010组执行权限
0004所有人读权限
0002所有人写权限
0001所有人执行权限
2、Perl目录操作函数之chdir函数
调用语法:chdir(dirname)
3、Perl目录操作函数之opendir函数
调用语法:opendir(dirvar,dirname)
dirvar:目录句柄,与文件句柄类似
dirname:目录名,可为字符串或表达式
调用成功返回真,否则返回假
4、Perl目录操作函数之closedir函数
调用语法:closedir(mydir)
5、Perl目录操作函数之readdir函数
调用语法:readdir(mydir)
6、Perl目录操作函数之telldir函数
调用语法:location=telldir(mydir)
返回当前所在目录
7、Perl目录操作函数之seekdir函数
调用语法:seekdir(mydir,location)
location必须为telldir函数返回的值
8、Perl目录操作函数之rewinddir函数
调用语法:rewinddir(mydir)
9、Perl目录操作函数之rmdir函数
调用语法:rmdir(dirname)
程序代码:
-
#!/usr/bin/Perl
-
-
sublistdir{my@arr,$
j
=
0
;
-
for($
i
=
0
;$i
<
=$#_;$i++){
-
if(-d$_[$i]){
-
if(opendir($handle,$_[$i])){
-
while($
dir
=
readdir
($handle)){
-
if(!($
dir
=~m/^\.$/)and!($
dir
=~m/^(\.\.)$/)){
-
print"$dir";
-
if(-d$_[$i]."\\$dir"){
-
$arr[$j++]=$_[$i]."\\$dir";
-
print"\t[DIR]"
-
}
-
print"\n";
-
}
-
}
-
closedir($handle);
-
}
-
}
-
}
-
if($j
>
0){
-
listdir(@arr);
-
}
-
}
-
listdir"D:\\download";
如果可能,这个
函数
改变当前进程的工作目录到 EXPR。如果省略 EXPR,则使用调用者的家目录。这个
函数
成功时返回真,否则返回假。
chdir
"$prefix/lib" or die "Can't cd to $prefix/lib: $!\n";
又见 Cwd 模块,在第三十二章,标准模块,里描述,它可以自动跟踪你的当
perl
中
,
chdir
函数
用来改变当前的工作目录到指定目录,如果没有指定目录,则到用户的主目录。这个
函数
的调用是相当于Unix
中
的cd命令来切换目录。
下面通过一个具体的例子来看一下
chdir
是如何工作的。
use strict;
use warnings;
# Print all files in a directory
sub print_fi...
你对
Perl
目录操作
函数
的概念是否熟悉,这里向大家简单介绍一下,
Perl
自带的
函数
远不及php多,但功能确实很强大,实现起来也只有几行代码。
AD:WOT2014课程推荐:实战MSA:用开源软件搭建微服务系统
本文和大家重点讨论一下
Perl
目录操作
函数
的概念,这里主要介绍一下九种
Perl
目录操作
函数
的用法,希望通过本文的学习你对
Perl
目录操作
函数
的概念有所了解。
Perl
目录操作
函数
:
Perl
自带的
函数
远不及php多,但功能确实很强大,实现起来也只有几行代码。
1、
Perl
目...
原文链接:https://www.cnblogs.com/resie/p/4459571.html
参考链接:https://www.jb51.net/list/list_125_1.htm
https://www.runoob.com/
perl
/
perl
-syntax.html
perl
脚本基础总结
1. 单引号字符串
中
的\n不会被当做换行...
程序运行时会以当前工作目录作为相对路径的起点, 可以使用
chdir
操作符改变当前目录:
chdir
"/etc" or die "Can't
chdir
to /etc:$!"; #因为这是一个相对操作系统的调用, 所以错误信息会返回到 $!
中
.
由
Perl
程序启动的所有进程都会继承
Perl
程序的工作目录. 但对于启动
Perl
的进程,它的工作目录...
chdir
操作副改变当前的工作目录。它和shell
中
cd命令类似:
chdir
‘/etc’ordie“cannot
chdir
to/etc:$1”;
注意:工作目录不能更改的,也就是说
Perl
程序返回后一定会回到所在的工作目录。
如果调用
chdir
时不加参数,
Perl
会猜想是想要回到用户主目录,并将工作目录设成主目录,这和shell下使用不加参数的cd命令效果...
经常看到这样的语句:
$file = fopen($filename, 'r') or die("抱歉,无法打开: $filename");
or在这里是这样理解的,因为在PHP
中
并不区分数据类型,所以$file既可以是int也可以bool,所以这样的语句不会报错。但其处理过程可能有些朋友不大明白。
其实在大多数的语言
中
, bool or bool这样的语句
中
,如果前一个值为真后一个值就
创建一个包world, 该包
中
含有asia和america以及europe三个子包,每个子包
中
含有module1.py和module2.py两个模块,每个模块
中
都有两个
函数
func 1和func2。然后, 1.使用sys.path命令查看 系统路径,将该包拷贝到某-个系统路径之下,使用import命令加载包
中
的模块,并运行其
中
的
函数
func 1和func2 2.或者, 使用os
中
的os.
chdir
()命令将当前工作路径改变到world所在的目录,在import对应的模块进行相应的测试。
然后,将world包拷贝到系统路径下,比如/usr/local/lib/python3.7/site-packages/:
sudo cp -r world /usr/local/lib/python3.7/site-packages/
接下来,在Python交互式环境
中
,可以使用以下命令加载模块并运行
函数
:
import world.asia.module1
world.asia.module1.func1()
world.asia.module1.func2()
或者,可以使用os.
chdir
()命令改变当前工作路径,然后使用import命令加载模块并测试:
import os
os.
chdir
('/path/to/world')
import asia.module1
asia.module1.func1()
asia.module1.func2()