在Python中,`pathlib` 是一个强大的文件系统路径操作库,它提供了面向对象的方式来处理文件系统路径。以下是对 `pathlib` 库的详细解析:### 1. 导入 `pathlib`首先,你需要从 `pathlib` 模块中导入 `Path`

摘要:python 文件管理库 Path 解析 1 Path库能做什么: Path库是python常见的文件操作库(以对象形式操作文件路径),可以进行以下操作: 文件路径的拼接(example: testYour_pathfiles
python 文件管理库 Path 解析 1 Path库能做什么: Path库是python常见的文件操作库(以对象形式操作文件路径),可以进行以下操作: 文件路径的拼接(example: test / Your_path / files ) 文件地址的提取(提取名称、后缀、全程......) 层级关系访问 查询文件是否存在 创建目录 .............(基本上文件操作都够用的实用库) 2 Path 与 os 库的优势 (可选) (了解文件操作库os的可以查看,不了解建议略过) from pathlib import Path import os def get_base_name_vs_os(input_file_path:str): ''' 获取当前py文件的完整名称、不带后缀名称、后缀 :return: ''' fpath_os = input_file_path fpath_path = Path(input_file_path) #u can debug this function and try to input-> type(fpath_path) in ur IDE-debug window,u can see <class 'pathlib.WindowsPath'> print( f'os method: {os.path.basename(fpath_os)}, {os.path.basename(os.path.splitext(fpath_os)[0])}, {os.path.splitext(fpath_os)[-1]}' ) print( f'Path method: {fpath_path.name}, {fpath_path.stem}, {fpath_path.suffix}' ) return if __name__ == '__main__': get_base_name_vs_os(r'your_file_path_like_C:\window') 优势: Path库相比os库有更全的封装接口,能够快速且便携地获取想要的文件地址,同样的实现步骤可能需要好几层os 操作对象为Object(即面向对象),可以很方便调用类方法,而os需要调用os库,相对来说繁琐一些 劣势: 虽然在很多方面完胜os,但本质是 不可哈希 的类型——object,类 类型,在写接口兼容、调用路径时需要注意。 其他兼容性问题。 3 Path库常用操作: 3.1 初始化路径 想初始化Path对象路径很简单,和其他类对象一样,只需要Path(your_path)即可获得对应的路径对象。 def init_path(): input_path = Path(r"your_input_path_test.py")#直接通过Path 初始化 print(input_path) return input_path 除了直接通过单一变量初始化路径,还能通过以下示例进行初始化: input_path = Path(r"C:\\","Windows","your_dir") #构造 c盘,window/your_dir的文件路径,可以传入多个路径,返回他们按顺序构造的路径 input_path = input_path / "hello_world.py" 3.2 获取文件地址(文件名称【带后缀、不带后缀】及后缀) 假设已经获取了文件对象的变量为:input_path = Path("your_path") 文件名称(完整带后缀):用 input_path.name即可 ,返回带后缀的文件名称【依旧是Path对象】 文件名称(不带后缀):用 input_path.stem即可,stem 有茎的意思,假设文件路径像一朵花,地上的花就包含了花朵和根茎,少了花朵部分,根茎也可以被认为是不带后缀(花朵)的了。 文件名称(后缀):用 input_path.suffix即可 ,suffix翻译过来就是后缀,返回文件后缀【str】 但是这里要注意,如果有多个后缀,如 library.tar.gz, 则会返回最后一个后缀,如果想要获取n个后缀,请使用 suffixes。
阅读全文