python提取文件名和扩展名方法

本文讨论了如何在Python中使用切片法和os.path、pathlib模块提取文件名和扩展名,包括os.path.splitext()和Path类的suffix/suffixes属性的应用,以及处理多点文件名的情况。
摘要由CSDN通过智能技术生成

1. 采用切片法提取文件名和扩展名

创建一个变量,文件名。假设它有一个三个字母的扩展名,并使用切片操作,找到扩展名。对于 README.txt,扩展名应该是 txt。使用切片操作编写代码,将给出没有扩展名的名称。您的代码是否适用于任意长度的文件名?

您的代码是:

filename = "readme.txt"
extension = filename[-3:]
print("The extension is", extension)
name = filename[:len(filename)-4]
print("The name without extension is", name)

2. os.path 和 pathlib方法提取文件名和扩展名

在 Python 中,有不同的方法可以创建一个变量并找到文件名的扩展名。一种方法是使用 os.path 模块,它提供了一个名为 splitext() 的函数,它可以将文件路径分割为文件名和文件扩展名另一种方法是使用 pathlib 模块,它有一个 Path 类,它有一个 suffix 属性,可以用来获取文件扩展名。这里有一些使用这些方法的代码示例:

使用 os.path.splitext():

import os
filename = "README.txt" # 创建一个变量,包含文件名
name, extension = os.path.splitext(filename) # 分割文件名和扩展名
print("The extension is", extension) # 打印扩展名
print("The name without extension is", name) # 打印没有扩展名的名称

使用 pathlib.Path().suffix:

from pathlib import Path
filename = "README.txt" # 创建一个变量,包含文件名
file_path = Path(filename) # 创建一个 Path 对象
extension = file_path.suffix # 获取扩展名
print("The extension is", extension) # 打印扩展名
name = file_path.stem # 获取没有扩展名的名称
print("The name without extension is", name) # 打印没有扩展名的名称

这两种方法都适用于任意长度的文件名,只要它们有一个点(.)分隔文件名和扩展名。如果文件名没有点,或者有多个点,结果可能会根据使用的方法而不同。例如,如果文件名是 “.bashrc”,os.path.splitext() 方法会返回 (“.bashrc”, “”) 作为文件名和扩展名,而 pathlib.Path().suffix 方法会返回 “” 作为扩展名。类似地,如果文件名是 “foo.bar.tar.gz”,os.path.splitext() 方法会返回 (“foo.bar.tar”, “.gz”) 作为文件名和扩展名,而 pathlib.Path().suffix 方法会返回 “.gz” 作为扩展名。如果你想获取一个有多个点的文件名中的所有扩展名,你可以使用 pathlib.Path().suffixes 属性,它会返回一个扩展名的列表。例如,pathlib.Path(“foo.bar.tar.gz”).suffixes 会返回 [“.bar”, “.tar”, “.gz”]。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值