pathlib学习

先附上代码

import colorama
from pathlib import Path


def path_methods():
    image_path = r"M:\python\path\image.png"  # 路径
    # image_path = r"D:\python+vtk+Qt\cut_tif"
    colorama.init(autoreset=True)  # 确保每次打印输出后自动重置样式,防止样式延续到下次输出
    
    '''pathlib'''
    path = Path(image_path)
    image_dirname, image_filename = path.parent, path.name  # 获取文件夹路径,文件名
    '''路径'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "路径" + "-"*80)
    print(path)
    '''获取文件夹路径,文件名'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "获取文件夹路径,文件名" + "-"*80)
    print(f"{image_dirname, image_filename}")
    '''获取当前工作目录的Path对象'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "获取当前工作目录的Path对象" + "-"*80)
    print(Path.cwd())
    '''获取用户的主目录的Path对象'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "获取用户的主目录的Path对象" + "-"*80)
    print(Path.home())
    '''路径类型'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "路径类型" + "-"*80)
    print(type(path))
    '''文件名,包含后缀名,如果是目录则获取目录名'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "文件名,包含后缀名,如果是目录则获取目录名" + "-"*80)
    print(path.name)
    '''文件名,不包含后缀'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "文件名,不包含后缀" + "-"*80)
    print(path.stem)
    '''后缀(格式)'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "后缀(格式)" + "-"*80)
    print(path.suffix)
    '''父级目录'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "父级目录" + "-"*80)
    print(path.parent)
    '''所有的父级目录,列表形式'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "所有的父级目录,列表形式" + "-"*80)
    print(list(path.parents))
    r'''目录前面的部分,绝对路径(C:\)或者相对路径(/)'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + r"锚,目录前面的部分,绝对路径(C:\)或者相对路径(/)" + "-"*80)
    print(path.anchor)
    '''路径是否存在'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "路径是否存在" + "-"*80)
    print(path.exists())
    '''判断路径是否是一个目录'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "判断路径是否是一个目录" + "-"*80)
    print(path.is_dir())
    '''判断路径是否是一个文件'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "判断路径是否是一个文件" + "-"*80)
    print(path.is_file())
    '''当前目录中的 所有文件和文件夹'''
    # path.glob(r'*')
    '''当前目录,及其下所有子目录中的 所有文件夹'''
    # path.glob(r'**')
    '''当前目录,及所有子目录中的 所有文件和文件夹'''
    # path.rglob(r'*')
    '''当前目录,及其下所有子目录中的 所有文件夹'''
    # path.rglob(r'**')
    '''使用通配符匹配文件或目录,特定类型的文件(*.png)'''
    # for file in path.glob("*.png"):
    #     print(file)
    '''使用通配符匹配文件或目录,特定类型的文件(*.png)'''
    # for file in path.rglob("*.png"):
    #     print(file)
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "解析链接的真实路径" + "-"*80)
    print(path.resolve())  # 解析链接的真实路径
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "路径拼接" + "-"*80)
    print(path.parent / path.name)  # 路径拼接
    '''创建目录'''
    # Path(目录路径).mkdir()
    '''删除空目录'''
    # Path(目录路径).rmdir()
    '''遍历目录下的所有文件和子目录'''
    # for item in Path(目录路径).iterdir():
    #     print(item)
    '''取消只读'''
    # path.chmod(0o666)  # 取消文件只读
    '''文件重命名或移动'''
    # path.rename(移动路径或重命名路径)
    '''复制文件'''
    # path.replace(复制路径)


if __name__ == "__main__":
    path_methods()  # pathlib的方法

目录

输出内容

路径--------------------------------------------------------------------------------M:\python\path\image.png

获取文件夹路径,文件名--------------------------------------------------------------------------------(WindowsPath('M:/python/path'), 'image.png')

获取当前工作目录的Path对象--------------------------------------------------------------------------------D:\python+vtk+Qt\cell_points_marking\UI

获取用户的主目录的Path对象--------------------------------------------------------------------------------C:\Users\PC

路径类型--------------------------------------------------------------------------------

文件名,包含后缀名,如果是目录则获取目录名----------------------------------------------------------image.png

文件名,不包含后缀--------------------------------------------------------------------------------image

后缀(格式)--------------------------------------------------------------------------------.png

父级目录--------------------------------------------------------------------------------M:\python\path

所有的父级目录,列表形式--------------------------------------------------------------------------------[WindowsPath('M:/python/path'), WindowsPath('M:/python'), WindowsPath('M:/')]

目录前面的部分,绝对路径(C:\)或者相对路径(/)-------------------------------------------------------------M:\

路径是否存在--------------------------------------------------------------------------------False

判断路径是否是一个目录--------------------------------------------------------------------------------False

判断路径是否是一个文件--------------------------------------------------------------------------------False

解析链接的真实路径--------------------------------------------------------------------------------M:\python\path\image.png

路径拼接--------------------------------------------------------------------------------M:\python\path\image.png

附录


输出内容
    image_path = r"M:\python\path\image.png"  # 路径
    # image_path = r"D:\python+vtk+Qt\cut_tif"
    colorama.init(autoreset=True)  # 确保每次打印输出后自动重置样式,防止样式延续到下次输出

    '''pathlib'''
    path = Path(image_path)
    
路径--------------------------------------------------------------------------------
M:\python\path\image.png
    '''路径'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "路径" + "-"*80)
    print(path)

获取文件夹路径,文件名--------------------------------------------------------------------------------
(WindowsPath('M:/python/path'), 'image.png')
    '''获取文件夹路径,文件名'''
    image_dirname, image_filename = path.parent, path.name  # 获取文件夹路径,文件名
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "获取文件夹路径,文件名" + "-"*80)
    print(f"{image_dirname, image_filename}")

获取当前工作目录的Path对象--------------------------------------------------------------------------------
D:\python+vtk+Qt\cell_points_marking\UI
    '''获取当前工作目录的Path对象'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "获取当前工作目录的Path对象" + "-"*80)
    print(Path.cwd())

获取用户的主目录的Path对象--------------------------------------------------------------------------------
C:\Users\PC
    '''获取用户的主目录的Path对象'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "获取用户的主目录的Path对象" + "-"*80)
    print(Path.home())
路径类型--------------------------------------------------------------------------------
<class 'pathlib.WindowsPath'>
    '''路径类型'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "路径类型" + "-"*80)
    print(type(path))

文件名,包含后缀名,如果是目录则获取目录名----------------------------------------------------------
image.png
    '''文件名,包含后缀名,如果是目录则获取目录名'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "文件名,包含后缀名,如果是目录则获取目录名" + "-"*80)
    print(path.name)

文件名,不包含后缀--------------------------------------------------------------------------------
image
    '''文件名,不包含后缀'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "文件名,不包含后缀" + "-"*80)
    print(path.stem)

后缀(格式)--------------------------------------------------------------------------------
.png
    '''后缀(格式)'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "后缀(格式)" + "-"*80)
    print(path.suffix)

父级目录--------------------------------------------------------------------------------
M:\python\path
    '''父级目录'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "父级目录" + "-"*80)
    print(path.parent)

所有的父级目录,列表形式--------------------------------------------------------------------------------
[WindowsPath('M:/python/path'), WindowsPath('M:/python'), WindowsPath('M:/')]
    '''所有的父级目录,列表形式'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "所有的父级目录,列表形式" + "-"*80)
    print(list(path.parents))

目录前面的部分,绝对路径(C:\)或者相对路径(/)-------------------------------------------------------------
M:\
    r'''目录前面的部分,绝对路径(C:\)或者相对路径(/)'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + r"锚,目录前面的部分,绝对路径(C:\)或者相对路径(/)" + "-"*80)
    print(path.anchor)

路径是否存在--------------------------------------------------------------------------------
False
    '''路径是否存在'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "路径是否存在" + "-"*80)
    print(path.exists())

判断路径是否是一个目录--------------------------------------------------------------------------------
False
    '''判断路径是否是一个目录'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "判断路径是否是一个目录" + "-"*80)
    print(path.is_dir())

判断路径是否是一个文件--------------------------------------------------------------------------------
False
    '''判断路径是否是一个文件'''
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "判断路径是否是一个文件" + "-"*80)
    print(path.is_file())

解析链接的真实路径--------------------------------------------------------------------------------
M:\python\path\image.png
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "解析链接的真实路径" + "-"*80)
    print(path.resolve())  # 解析链接的真实路径

路径拼接--------------------------------------------------------------------------------
M:\python\path\image.png
 
    print(colorama.Fore.GREEN + colorama.Style.BRIGHT + "路径拼接" + "-"*80)
    print(path.parent / path.name)  # 路径拼接
附录
    '''当前目录中的 所有文件和文件夹'''
    # path.glob(r'*')
    '''当前目录,及其下所有子目录中的 所有文件夹'''
    # path.glob(r'**')
    '''当前目录,及所有子目录中的 所有文件和文件夹'''
    # path.rglob(r'*')
    '''当前目录,及其下所有子目录中的 所有文件夹'''
    # path.rglob(r'**')
    '''使用通配符匹配文件或目录,特定类型的文件(*.png)'''
    # for file in path.glob("*.png"):
    #     print(file)
    '''使用通配符匹配文件或目录,特定类型的文件(*.png)'''
    # for file in path.rglob("*.png"):
    #     print(file)
    '''创建目录'''
    # Path(目录路径).mkdir()
    '''删除空目录'''
    # Path(目录路径).rmdir()
    '''遍历目录下的所有文件和子目录'''
    # for item in Path(目录路径).iterdir():
    #     print(item)
    '''取消只读'''
    # path.chmod(0o666)  # 取消文件只读
    '''文件重命名或移动'''
    # path.rename(移动路径或重命名路径)
    '''复制文件'''
    # path.replace(复制路径)

  • 30
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值