Path类 操作文件类的实例

Path类是Python中操作文件路径的工具类,可以用于文件路径相关的转换、拼接、判断、查询等操作。下面将详细讲解Path类的使用攻略,包括基本用法和进阶用法。

一、基本用法

  1. 导入Path类
from pathlib import Path
  1. 创建Path对象
# 在当前目录创建Path对象
p1 = Path('.')
# 在指定目录创建Path对象
p2 = Path('/usr/bin')
# 通过字符串创建Path对象
p3 = Path('/usr') / 'bin' / 'python'
  1. 基本属性
# 获取路径名
p3_name = p3.name  # 'python'
# 获取完整路径
p3_absolute = p3.absolute()
# 判断路径是否存在
p3_exists = p3.exists()
  1. 文件操作
# 创建一个文件
p4 = Path('test.txt')
p4.touch()
# 写入文件
p4.write_text('hello world')
# 读取文件
content = p4.read_text()
# 删除文件
p4.unlink()

二、进阶用法

  1. 遍历文件夹
p5 = Path('.')
# 遍历当前目录下的所有文件和文件夹
for file in p5.iterdir():
    print(file)
# 遍历当前目录下的所有Python文件
for py_file in p5.glob('*.py'):
    print(py_file)
  1. 操作路径
p6 = Path('/usr/bin/python')
# 获取上一级目录
p6_parent = p6.parent  # Path('/usr/bin')
# 获取文件后缀名
p6_suffix = p6.suffix  # '.py'
# 获取文件名(不含后缀)
p6_stem = p6.stem  # 'python'
# 添加新后缀
p7 = p6.with_suffix('.txt')  # Path('/usr/bin/python.txt')
# 在路径后添加子目录
p8 = p6 / 'scripts' / 'test.py'  # Path('/usr/bin/python/scripts/test.py')

三、示例说明

以下是两条示例说明:

示例一:遍历文件夹,并删除指定后缀名的文件

我们可以通过glob方法筛选出指定后缀名的文件,然后通过unlink方法删除。

p9 = Path('.')
# 遍历当前目录下的所有Markdown文件,并删除
for md_file in p9.glob('*.md'):
    md_file.unlink()

示例二:获取最近一次修改的文件名

通过遍历文件夹,获取所有文件最近一次修改的时间戳,然后通过max方法获取最近的时间戳,并返回文件名。

p10 = Path('.')
# 获取最近一次修改的文件名
latest_file = max(p10.glob('*'), key=lambda f: f.stat().st_mtime)
latest_filename = latest_file.name

以上就是Path类操作文件类的实例的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Path类 操作文件类的实例 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • 记一次 .NET某医疗器械清洗系统 卡死分析

    一:背景 1. 讲故事 前段时间协助训练营里的一位朋友分析了一个程序卡死的问题,回过头来看这个案例比较经典,这篇稍微整理一下供后来者少踩坑吧。 二:WinDbg 分析 1. 为什么会卡死 因为是窗体程序,理所当然就是看主线程此时正在做什么? 可以用 ~0s ; k 看一下便知。 0:000> k # ChildEBP RetAddr 00 00aff1…

    C# 2023年4月18日
    00
  • C#框架winform实现简单点餐系统

    下面是详细讲解“C#框架winform实现简单点餐系统”的完整攻略。 1. 准备工作 在正式开始开发点餐系统之前,需要准备好相关的工具和资源,以下是准备工作的具体步骤: 1.1 安装Visual Studio Visual Studio是Windows平台下的一款集成开发环境,它支持多种编程语言,其中包括C#。因此,我们需要安装Visual Studio来进…

    C# 2023年6月3日
    00
  • C#中静态的深入理解

    C#中静态的深入理解 引言 静态是C#中重要的概念之一,常常用来修饰变量、方法和类。正确的理解与使用静态,可以使程序更加高效,减少开发中的错误。 静态变量 静态变量是指在类级别定义一个变量,即该变量是应用于整个类,而非特定实例。静态变量的生命周期与类的生命周期相同。定义静态变量使用static关键字。 示例1:定义一个静态变量并初始化为0 public cl…

    C# 2023年5月31日
    00
  • C#中IDispose接口的实现及为何这么实现详解

    下面是关于C#中IDisposable接口的实现及为何这么实现的详解,包含两个示例说明。 什么是IDisposable接口 在C#中,当需要使用一些非托管资源时(例如文件、数据库连接、Socket等等),程序需要手动释放这些资源,否则会造成占用资源过多,程序出现异常或运行缓慢等问题。为了实现资源的自动释放,C#定义了IDisposable接口。 IDispo…

    C# 2023年6月6日
    00
  • C#获取指定年份第一个星期一具体日期的方法

    下面我将详细讲解C#获取指定年份第一个星期一具体日期的方法的完整攻略。 首先,我们需要使用C#中的DateTime类来实现。DateTime类在创建日期和时间方面非常方便,可以用于执行各种日期和时间的操作。 首先,我们需要创建一个DateTime实例,表示我们要获取的年份。 int year = 2021; DateTime firstDayOfYear =…

    C# 2023年6月1日
    00
  • Unity实现物体弧线运动到规定的坐标

    Unity实现物体弧线运动到规定的坐标的完整攻略需要涉及以下几个步骤: 1. 生成弧线路径 首先需要生成一条弧线路径,用于指导物体运动。可以使用Unity中的Path Creator插件来生成弧线路径。具体操作如下: 在Unity Asset Store中搜索Path Creator插件,下载并导入到项目中。 在场景中创建空对象,然后添加Path Creat…

    C# 2023年6月3日
    00
  • 改进c# 代码的五个技巧(一)

    当我们编写C#代码时,既希望代码功能完善,也希望代码运行速度和内存占用量方面尽可能优化。在这篇文章中,我们会介绍五个技巧,可以帮助你改进C#代码的质量。 技巧一:使用StringBuilder代替String 使用String类型声明的变量在处理文本时会创建一个新的字符串对象,如果需要在原始字符串上添加字符,则需要使用连接符+。这样使用+连接字符串会导致系统…

    C# 2023年5月15日
    00
  • C#实现常见加密算法的示例代码

    C#实现常见加密算法的示例代码 本篇攻略将会针对C#语言来实现几种常见的加密算法,包括MD5哈希、SHA-1哈希、AES对称加密、RSA非对称加密和Base64编码等。我们将会给出具体的实现代码,并接合实例说明,方便大家在实际开发中使用。 MD5哈希 MD5消息摘要算法常用于数据传输过程中的完整性校验,或者用于保证敏感数据的安全。 示例1:字符串的MD5哈希…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部