前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python基础—pathlib模块

python基础—pathlib模块

作者头像
dogfei
发布2020-07-31 11:35:06
3350
发布2020-07-31 11:35:06
举报
文章被收录于专栏:devops探索devops探索

有两个模块可用

  • os模块中的path
  • pathlib中的Path

这里说下pathlib模块,只要python版本大于3.4 都自带标准库pathlib

使用方法

代码语言:javascript
复制
from path lib import Path

目录操作

代码语言:javascript
复制
p = Path()   #当前目录   初始
p = Path(‘a’,’b’,’c’,’d/e’)    #当前目录下的a/b/c/d/e
p = Path(‘/etc’)    #根目录下的etc目录

路径拼接与分解

分解

同时拼接多个字符串

父目录

parents 父目录序列,索引0相当于/根目录

也可以像访问列表那样,通过输入索引来获取值

其他方法介绍

代码语言:javascript
复制
name  目录的最后一部分,可以是文件名,也可以是目录名
代码语言:javascript
复制
suffix  目录中最后一个部分的扩展名
代码语言:javascript
复制
stem   目录最后一个部分,没有后缀
代码语言:javascript
复制
suffixes   返回多个扩展名列表,可以对比下suffix来看
代码语言:javascript
复制
cwd()   返回当前目录
home()  返回当前价目录
is_dir()  是否是目录
is_file()  是否是普通文件
is_symlink()  是否是软链接
is_socker()   是否是socket文件
is_block_device()  是否是块设备
is_char_device()  是否是字符设备
is_absolute()   是否是绝对路径
exists() 目录或文件是否存在
rmdir() 删除空目录
touch(mode=0o666,exist_ok=True) 创建空文件
mkdir(mode=0o777,parents=False,exist_ok=False) 创建目录,parents=True时,相当于mkdir -p,False时则会报错FileNotFountError,exist_ok=True时,FileNotFoundError被忽略
iterdir() 迭代当前目录

练习

遍历目录,并判断文件类型,如果是目录再判断是否为空

代码语言:javascript
复制
from pathlib import Path


def yourdir(dir_cur):
    '''check file type'''
    for x in Path(dir_cur).parents[0].iterdir():
        print(x,end='\t')
        if x.is_dir():
            flag = False
            for _ in x.iterdir():   #如果目录为空,则无法迭代
                flag = True
                break
            print('dir','Not Empty' if flag else 'Empty',sep='\t')
        elif x.is_file():
            print('file')
        else:
            print('other file')

if __name__ == '__main__':
    yourdir('/Users/fei/tmp/ops')

这里我们遍历的上级目录下的所有文件。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用方法
  • 目录操作
  • 路径拼接与分解
    • 分解
      • 同时拼接多个字符串
        • 父目录
        • 其他方法介绍
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档