先附上代码
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的方法
目录
路径类型--------------------------------------------------------------------------------
文件名,包含后缀名,如果是目录则获取目录名----------------------------------------------------------image.png
文件名,不包含后缀--------------------------------------------------------------------------------image
后缀(格式)--------------------------------------------------------------------------------.png
父级目录--------------------------------------------------------------------------------M:\python\path
目录前面的部分,绝对路径(C:\)或者相对路径(/)-------------------------------------------------------------M:\
路径是否存在--------------------------------------------------------------------------------False
判断路径是否是一个目录--------------------------------------------------------------------------------False
判断路径是否是一个文件--------------------------------------------------------------------------------False
输出内容
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(复制路径)