Loading

Python路径操作

Python 路径操作

3.4版本之前os.path模块

3.4版本之后pathlib.Path模块

from pathlib import Path
p = path()
p = p.joinpath('/data/app/app/sftp-password.txt')  # 在当前目录后拼接字符串

 
# 路径拼接
* joinpath 
* 操作符/ 
    Path对象/Path对象
    Path对象/字符串 或者 字符串/Path对象/Path对象
    p = p / 'a' / 'b'
# 路径分解
parts属性,元组方式返回路径中的每一个部分
    p.parts

# 获取父目录
    p.parent  # 获取除目录最后一个部分外的所有路径
    list(p.parents)  # 依次获取父目录级别
    
# 获取目录中最后一个部分
    p.name
# 获取目录中最后一个部分的扩展名
    p.suffix  # .jpg
# 获取目录中最后一个部分,没有扩展名
    p.stem
# 返回当前工作目录
    p.cwd()
# 返回当前家目录
    p.home()
# 是否是目录
    p.is_dir()
# 是否是文件
    p.is_file()
# 是否是socket文件
    p.is_socket()
# 是否是绝对路径
    p.is_absolute()
   
# 目录或者文件是否存在
    p.exists()
# 删除空目录,如果目录不为空则报错,pathlib没有提供判断目录为空的方法
    p.rmdir()
# 创建文件,创建的文件名即p对象的name
    p = Path('/tmp/mysql.tar.gz')
    p.touch(mode=0o666, exist_ok=True)  # 文件名为/tmp/mysql.tar.gz
    p = Path('/tmp')
    p.joinpath('test.jpg').touch(mode=0o666, exist_ok=True)  # 文件名为/tmp/test.jpg
# 将路径转化成uri
    p.as_uri()  # 返回'file:///data/app/app/test'
# 创建目录
    p = p / 'test' / 'test01' / 'test02'
    p.mkdir(parents=True)  # 父目录不存在则创建
# 迭代当前目录下
    p.iterdir()
# 通配符
    p.glob('test*')  # 返回生成器对象
# 匹配match
    p = Path('a/b.py')
    p.match('*.py')
posted @ 2021-07-14 11:20  勤俭持家亮公子  阅读(83)  评论(0)    收藏  举报