Python获取文件名

这篇具有很好参考价值的文章主要介绍了Python获取文件名。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在进行日常程序开发过程中,获取文件名是一个普遍的需求。本篇文章将演示如何用Python获取文件名,以及获取文件路径和拓展名。

一、使用os模块

1.1 os.listdir()方法

Python的os模块提供了一系列用于操作操作系统功能的方法。其中一个方法就是os.listdir(),它可以返回指定目录下的所有文件和文件夹的名称。我们可以利用这个方法来获取文件夹中所有文件的名称。

def get_file_name_1(file_path):
    file_names = os.listdir(file_path)
    return file_names

file_path = './data'
file_names = get_file_name_1(file_path)
print(file_names)

输出结果:

['2023-08-07_12.txt', '2023-08-07_09.txt', '2023-08-07_11.txt', '2023-08-07_10.txt', '2023-08-07_08.txt']

1.2 os.path()方法

Python的os.path模块提供了一些有用的方法来处理文件路径。我们可以使用os.path.basename()方法来获取文件的基名(即文件名加扩展名),或者使用os.path.splitext()方法来获取文件的扩展名。

def get_file_name_2(file_path):
    file_names = []
    for root, dirs, files in os.walk(file_path):
        for file in files:
            file_names.append(os.path.basename(file))
    return file_names

file_path = './data'
file_names = get_file_name_1(file_path)
print(file_names)

输出结果:

['2023-08-07_12.txt', '2023-08-07_09.txt', '2023-08-07_11.txt', '2023-08-07_10.txt', '2023-08-07_08.txt']

这里,补充一些关于os.path模块在处理文件方面的基本使用方法:

import os

path = '/home/user/documents/file.txt'

# os.path.basename()获取文件名
filename = os.path.basename(path) 
print(filename)  # 输出 "file.txt"

# os.path.dirname()获取文件路径
directory = os.path.dirname(path)
print(directory)  # 输出 "/home/user/documents"

# os.path.splitext()获取文件名和拓展名
filename_without_ext, file_extension = os.path.splitext(filename)
print(filename_without_ext)  # 输出 "file"
print(file_extension)  # 输出 ".txt"

二、使用Pathlib模块

Pathlib是Python3.4以上版本中自带的模块,用于处理文件路径。它提供了易于使用的面向对象的接口,可以轻松获取文件名,路径和拓展名。

from pathlib import Path

path = Path('/home/user/documents/file.txt')

# Path.name获取文件名
filename = path.name
print(filename)  # 输出 "file.txt"

# Path.parent获取文件路径
directory = path.parent
print(directory)  # 输出 "/home/user/documents"

# Path.suffix获取拓展名
file_extension = path.suffix
print(file_extension)  # 输出 ".txt"

# Path.stem获取文件名不带拓展名
filename_without_ext = path.stem
print(filename_without_ext)  # 输出 "file"

三、使用正则表达式获取文件名

如果文件名不在文件路径的末尾,可以使用正则表达式来提取文件名。

import re

path = '/home/user/documents/file.txt'

# 使用正则表达式获取文件名
filename = re.findall(r'/([^/]+)\.txt', path)[0]
print(filename)  # 输出 "file"

结论

以上是三种获取文件名的方法,使用os模块和Pathlib模块可以更加简洁方便地获取文件名、路径和拓展名,而使用正则表达式可以灵活处理较为复杂的文件路径。在编写Python程序时,可以根据实际情况选择最合适的方法。文章来源地址https://www.toymoban.com/news/detail-718653.html

参考资料

  • Python获取文件名

到了这里,关于Python获取文件名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java获取文件夹下所有文件名

      在进行 Java编程的过程中,我们会经常使用到文件夹下的所有文件名。有时候可能不太熟悉 Java编程的小伙伴们会发现,在代码中没有获取到所有的文件名,那么这个时候我们应该怎么去获取到这些文件呢?在进行 Java编程的过程中,我们会经常使用到 Java里面的 JDBC数据库连

    2024年02月10日
    浏览(70)
  • MultipartFile获取文件名、文件后缀等方法

    获取文件名及后缀信息 获取文件名 获取文件后缀 获取文件类型 获取文件大小 输出结果:

    2024年02月11日
    浏览(62)
  • python 批量修改文件名(PDF、word、Excel、图片、视频等)

          很多朋友遇到批量修改文件名的问题,网上各种搜,操作麻烦不说还有些需要付费。这里不多废话,直接上代码。 一、支持库 二、 定义函数 三、程序入口 四、运行,微云 下载:文件分享

    2024年01月23日
    浏览(65)
  • MultipartFile获取文件名,文件大小,文件后缀等方法

    获取文件名及后缀信息: 获取文件名: 获取文件后缀:这个后缀带‘.’如:.zip,如果不想带‘.’这样即可lastIndexOf(\\\".\\\")+1 获取文件类型: 获取文件大小:

    2024年02月16日
    浏览(69)
  • js获取文件名或文件后缀名(扩展名)的几种方法

    有时候我们需要通过含有文件名和后缀名的一个字符串中提取出该文件的文件名或文件后缀名(扩展名),可以通过如下几种方式进行截取。 例如文件名为: var fileName=\\\"12345.txt\\\"; 用法参考博文 【js截取字符串subString()方法】 js截取字符串subString()方法_js 如何使用substring()截取字

    2024年04月16日
    浏览(71)
  • Linux 服务器文件名乱码常见问题

    在 Linux 服务器中,文件名乱码是一个常见的问题,特别是当涉及到多语言字符集时。这可能导致文件名显示异常,无法正确识别和处理文件。本文将介绍一些常见的文件名乱码问题以及相应的解决方法。 字符集问题 文件名乱码的一个常见原因是字符集不匹配。当文件名包含

    2024年02月05日
    浏览(70)
  • Java下载文件,中文文件名乱码问题解决(文件名包含很多%)

    一般情况下,大家都是这样: 其实乱码就是乱在;filename=\\\" + fileName这里,对文件名的编码设定上。 使用URLEncoder.encode(filepath,\\\"UTF-8\\\")虽然可以解决在提示下载框中正确显示汉字文件名的问题,并且在选择保存,然后打开的情况下,文件名称也可以正确的显示。 但是在提示下载框

    2024年02月12日
    浏览(51)
  • 【网络安全带你练爬虫-100练】第21练:批量获取文件夹中文件名

    目录 一、目标1:使用python爬取指定文件夹中的文件名 二、目标2:在文件夹指定目录打开命令行 方法一:使用 os 模块 将 /path/to/folder 替换为实际的文件夹路径。 os.listdir() 函数用于获取指定文件夹中的文件名列表,然后可以遍历列表并处理每个文件名 方法二:使用 glob 模块

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包