perl 处理文件路径的一些模块
perl有句格言:There is more than one way to do it。意思就是任何问题用perl都有好几种解决方法。以前处理文件路径的时候都是自己写正则表达式,而用perl的模块来解决则更加迅速、准确。
1). File::Basename
有3个方法:fileparse、basename、dirname。
用法:
($name,$path,$suffix) = fileparse($fullname,@suffixlist);
$basename = basename($fullname,@suffixlist);
$dirname = dirname($fullname);
说明:
a) 方法fileparse是将一个文件的全路径拆成三部分,文件名、目录名和后缀,@suffixlist是给一个后缀的集合。例如
($base,$path,$type) = fileparse('\\virgil\\aeneid\\draft.book7', qr{\.book\d+});
则输出 $base ==> draft; $path ==> \virgil\aeneid\; $type ==> book7。
b) 方法basename和fileparse的输入格式一样,返回的是文件名加后缀。
c) 方法dirname返回文件目录名。
注意,dirname和fileparse第二个返回值的比较:
i) 目录结尾有无\;
dirname('\\virgil\\aeneid\\draft.book7') ==> \virgil\aeneid
fileparse('\\virgil\\aeneid\\draft.book7') ==> \virgil\aeneid\
ii) 输入参数为目录;
dirname('virgil\\') ==> .
fileparse('virgil\\') ==> virgil\
2). File::Spec::Functions
这个模块输出File::Spec类的方法,分为两类:
(1) 可直接调用:
canonpath||catdir||catfile||curdir||rootdir||updir||no_upwards||file_name_is_absolute||path
(2) 以 File::Spec->方法名的形式调用:
devnull||tmpdir||splitpath||splitdir||catpath||abs2rel||rel2abs||case_toleran
这里举几个常用的方法说明一下:
a) 方法catdir:将目录合并,
catfile('a','b','c') ==> a\b\c
b) 方法splitdir:与catdir相反,拆分目录
File::Spec->splitdir('a\\b\\c\\') ==>('a','b','c',' ') #注意最后有个空格
3). File::Path
有2个方法:mkpath和rmtree,分别为创建目录和删除目录。
perl语言本身自带了mkdir和rmdir,那为什么还要选用 mkpath和rmtree呢?自带的mkdir只能一次创建一级目录,而mkpath则可以一次创建多级;rmdir必须要求目录为空,而rmtree 则任意。总之,File::Path为我们提供了另一种创建和删除目录的机制,由用户自己选用。
说明:
a) mkpath(directory, 1, 0711);
第一个参数为目录名,第二个参数为一个bool值,为真的时候打印每次创建的目录,默认为假,最后一个参数为目录的权限。
b) rmtree(directory, 1, 1);
第一个参数为目录名,第二个参数为一个bool值,为真的时候打印删除文件时的一些信息,默认为假,最后一个参数也是一个bool值,为真的时候对没有删除权限的文件直接跳过。
转载于:https://www.cnblogs.com/yechanglv/p/6923202.html
perl 处理文件路径的一些模块相关推荐
- python 文件路径及time模块记录
文件路径及time模块记录 文件路径相关方法 本地文件路径 相关代码 运行结果 时间模块相关方法 代码 运行结果 文件路径相关方法 本地文件路径 首先我的文件路径是这样的: Folder Sub_fo ...
- Python模块学习:glob 文件路径查找
文章转载自<伯乐在线>原文出处: Darkbull Python模块学习:glob 文件路径查找 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用w ...
- python获取文件路径名_python文件名获取文件路径
如何使用Python获取文件所在目录和文件名 python中如何根据文件名找他的路径.现在我遍历到怎么才能将某一个文件对应的路径找到呢? 遍历用os.walk: import osfrom os.pa ...
- python通过路径找文件_Python寻找路径和查找文件路径的示例
怎么python系统的查找路径要是爱你爱的少些,话就可以说的多些了.简?奥斯汀 ⒈单击开始,在搜索框输入cmd,然后回车,就会出现命令行界面框后,在里面输入命令python后回车,安装成功的话就可以看 ...
- mac怎么用c语言写文件路径,Mac 中使用os模块更改文件路径
cmd+opt+c 复制路径 path='/Applications/MAMP/htdocs/python/day04model/' import sys import os sys.path.app ...
- python os.path 模块 路径文件名 新建文件夹 文件 路径 是否存在
os.path 模块主要用于获取文件的属性. 以下是 os.path 模块的几种常用方法: 方法 说明 os.path.abspath(path) 返回绝对路径 os.path.basename(pa ...
- Python语言编程学习:文件路径变量修改,利用os模块固定文件父路径,变换文件子路径实现代码
Python语言编程学习:文件路径变量修改,利用os模块固定文件父路径,变换文件子路径实现代码 目录 文件路径变量修改,利用os模块固定文件父路径,变换文件子路径实现代码
- python中的glob 模块学习文件路径查找
glob glob.glob(pathname), 返回所有匹配的文件路径列表.它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径. import glob ...
- python的哪个模块提供了文件处理方法_Python处理文件路径有哪些方法?
在python中找寻路径的方法有很多,当然也有新方法在不断地更新中.对于新手的python小白来说,肯定是越简单越好用的最受欢迎.小编经过一番找寻,为大家带来两种方法,大家可以根据接受情况选择. 老方 ...
最新文章
- 分页存储过程性能比较 二分法
- Java中变量、类初始化顺序
- Winform判断一个窗口是否以模态化方式打开
- STM32——系统滴答定时器
- 背景图层和普通图层的区别_图层样式(一)—高级混合选项
- 新手入坑自动驾驶,从 JetBot 机器人小车开始,能学到什么?
- c++ 的 stl模板库_C ++中的标准模板库(STL)
- localStorage、cookie的使用总结
- 提高网页打开速度的一些小技巧
- 【优化调度】基于matlab遗传算法求解公交车调度优化问题【含Matlab源码 040期】
- 华为模拟器路由器交换机远程控制
- FreeRTOS学习-day01
- 如何使用计算机勾绘汇水面积,第八章 地形测量_同济大学:测量学(八)_ppt_大学课件预览_高等教育资讯网...
- Jmeter性能测试工具实现对数据库mysql进行连接并压测
- STP生成树/BPDU保护小实验
- android 软电话 开发包-JNI 封装 SIP 协议,可进行二次开发应用于VOIP
- 2022第十五届全国大学生信息安全竞赛(ciscn)西南赛区部分WP
- Oracle 语法中的 INSERT INTO
- 游戏行业被黑客攻击勒索怎么办?
- 鼠标悬停 -css如何实现鼠标移至图片上显示遮罩层及文字