龙空技术网

Python处理文件系统路径,pathlib库使用

测开人小江 610

前言:

当前咱们对“python创建文件路径”大概比较讲究,朋友们都需要学习一些“python创建文件路径”的相关文章。那么小编同时在网络上搜集了一些有关“python创建文件路径””的相关文章,希望兄弟们能喜欢,各位老铁们一起来学习一下吧!

pathlib是Python3.4及以后版本中的一个内置类库,它提供了一种简单而直观的方式来处理文件系统路径,同时也能够轻松地处理各种不同类型的路径。

在本教程中,我们将介绍如何使用pathlib类库来操作文件路径。

创建一个Path对象

pathlib库中的主要对象是Path类,它表示文件或目录的路径。要使用Path类,您需要首先创建一个Path对象。

from pathlib import Path# 绝对路径path = Path('/usr/bin/python3')# 相对路径path = Path('file.txt')

上面的代码演示了如何使用Path类来创建一个绝对路径和一个相对路径的对象。

获取路径信息

Path对象提供了一些方法来获取路径的信息。下面是一些最常用的方法:

name: 返回路径的最后一个组成部分的名称parent: 返回路径的上一级目录parts: 返回路径中的所有部分exists(): 检查路径是否存在is_dir(): 检查路径是否为一个目录is_file(): 检查路径是否为一个文件

from pathlib import Pathpath = Path('/usr/bin/python3')print(path.name)   # python3print(path.parent) # /usr/binprint(path.parts)  # ('/', 'usr', 'bin', 'python3')if path.exists():    if path.is_dir():        print('Path is a directory.')    elif path.is_file():        print('Path is a file.')else:    print('Path does not exist.')

上面的代码将返回python3作为路径的名称,/usr/bin作为路径的上级目录,('/', 'usr', 'bin', 'python3')作为路径的所有部分。

操作路径

Path对象还提供了一些方法来操作路径。下面是一些最常用的方法:

joinpath(): 连接两个或多个路径组件,并返回一个新的Path对象with_suffix(): 更改路径的文件扩展名resolve(): 返回绝对路径relative_to(): 返回相对路径

from pathlib import Pathpath = Path('/usr/bin')new_path = path.joinpath('python3')print(new_path)  # /usr/bin/python3new_path = new_path.with_suffix('.txt')print(new_path)  # /usr/bin/python3.txtabsolute_path = new_path.resolve()print(absolute_path)  # /usr/bin/python3.txtrelative_path = absolute_path.relative_to('/usr')print(relative_path)  # bin/python3.txt

上面的代码演示了如何使用Path对象的方法来连接路径、更改文件扩展名、获取绝对路径和相对路径。

遍历目录

Path对象还提供了一些方法来遍历目录。下面是一些最常用的方法:

glob(): 返回一个生成器,该生成器按照通配符模式返回所有匹配的文件和目录iterdir(): 返回一个迭代器,该迭代器包含目录中的所有条目rglob(): 返回一个生成器,该生成器按照通配符模式递归返回所有匹配的文件和目录

from pathlib import Pathpath = Path('/usr/bin')# 遍历目录for entry in path.iterdir():    if entry.is_file():        print(f'File: {entry.name}')    elif entry.is_dir():        print(f'Directory: {entry.name}')# 遍历目录及其子目录for entry in path.rglob('*'):    if entry.is_file():        print(f'File: {entry.name}')    elif entry.is_dir():        print(f'Directory: {entry.name}')

上面的代码演示了如何使用Path对象的方法来遍历目录和子目录中的所有文件和目录。

创建、复制和删除文件/目录

Path对象还提供了一些方法来创建、复制和删除文件和目录。下面是一些最常用的方法:

mkdir(): 创建一个新目录mkdir(parents=True, exist_ok=True): 创建一个新目录,如果父目录不存在则递归创建touch(): 创建一个新文件rename(): 重命名文件或目录unlink(): 删除文件rmdir(): 删除空目录rmtree(): 递归删除目录及其所有内容

from pathlib import Pathpath = Path('file.txt')# 创建一个新文件path.touch()# 重命名文件path.rename('new_file.txt')# 删除文件path.unlink()# 创建一个新目录path.mkdir()# 创建一个新目录,如果父目录不存在则递归创建path = Path('path/to/new/directory')path.mkdir(parents=True, exist_ok=True)# 删除空目录path.rmdir()# 递归删除目录及其所有内容path = Path('path/to/directory')path.rmdir()

上面的代码演示了如何使用Path对象的方法来创建、复制和删除文件和目录。

总结

在本教程中,我们介绍了如何使用pathlib类库来处理文件系统路径。我们学习了如何创建Path对象、获取路径信息、操作路径、遍历目录、创建、复制和删除文件/目录。pathlib类库提供了一种更加简单和直观的方式来处理文件系统路径,并且它是Python3.4及以后版本中的一个内置类库,因此无需安装即可使用。

标签: #python创建文件路径