Python读取文件名

Python读取文件名

Python读取文件名

一、介绍

在编程中,经常会遇到需要读取文件名的情况。Python作为一种适用于各种领域的高级编程语言,提供了各种方法和函数来处理文件操作。本文将详细介绍Python中如何读取文件名的多种方法,并给出相应的代码示例。

二、使用os模块的方法

Python提供了os模块来处理文件和目录操作。在使用os模块之前,需要先导入该模块:

import os

1. 获取当前工作目录

使用os.getcwd()函数可以获取当前工作目录的路径:

import os

current_dir = os.getcwd()
print("当前工作目录:", current_dir)

运行结果:

当前工作目录: C:\Users\Username

2. 获取目录下所有文件名

使用os.listdir()函数可以获取指定目录下所有文件和文件夹的名称,并存储在一个列表中:

import os

dir_path = "C:/path/to/directory"
file_list = os.listdir(dir_path)
print("目录下的文件名列表:", file_list)

运行结果:

目录下的文件名列表: ['file1.txt', 'file2.py', 'subdirectory']

3. 判断是否为文件

使用os.path.isfile()函数可以判断给定的路径是否为一个文件:

import os

file_path = "C:/path/to/file.txt"
if os.path.isfile(file_path):
    print("给定路径是一个文件")
else:
    print("给定路径不是一个文件")

运行结果:

给定路径是一个文件

4. 判断是否为文件夹

使用os.path.isdir()函数可以判断给定的路径是否为一个文件夹:

import os

dir_path = "C:/path/to/directory"
if os.path.isdir(dir_path):
    print("给定路径是一个文件夹")
else:
    print("给定路径不是一个文件夹")

运行结果:

给定路径是一个文件夹

5. 获取文件名和扩展名

使用os.path.splitext()函数可以将文件名与扩展名分开,并返回一个元组:

import os

file_path = "C:/path/to/file.txt"
file_name, file_extension = os.path.splitext(file_path)
print("文件名:", file_name)
print("扩展名:", file_extension)

运行结果:

文件名: file
扩展名: .txt

6. 获取文件夹路径和文件名

使用os.path.split()函数可以将文件夹路径和文件名分开,并返回一个元组:

import os

file_path = "C:/path/to/file.txt"
dir_path, file_name = os.path.split(file_path)
print("文件夹路径:", dir_path)
print("文件名:", file_name)

运行结果:

文件夹路径: C:/path/to
文件名: file.txt

三、使用Path对象的方法

Python 3.4之后,还引入了pathlib模块,提供了Path对象来处理路径操作。使用Path对象可以更加方便地读取文件名。

1. 获取文件名和扩展名

Path对象提供了.stem.suffix属性分别获取文件名和扩展名:

from pathlib import Path

file_path = Path("C:/path/to/file.txt")
file_name = file_path.stem
file_extension = file_path.suffix
print("文件名:", file_name)
print("扩展名:", file_extension)

运行结果:

文件名: file
扩展名: .txt

2. 获取文件夹路径和文件名

Path对象提供了.parent属性获取文件夹路径,.name属性获取文件名:

from pathlib import Path

file_path = Path("C:/path/to/file.txt")
dir_path = file_path.parent
file_name = file_path.name
print("文件夹路径:", dir_path)
print("文件名:", file_name)

运行结果:

文件夹路径: C:/path/to
文件名: file.txt

四、使用glob模块的方法

glob模块可以用来查找符合指定规则的文件路径名。

1. 查找文件名

使用glob.glob()函数可以查找符合指定规则的文件名,并返回一个包含匹配的文件路径的列表:

import glob

file_list = glob.glob("C:/path/to/files/*.txt")
print("查找到的文件名列表:", file_list)

运行结果:

查找到的文件名列表: ['C:/path/to/files/file1.txt', 'C:/path/to/files/file2.txt']

2. 查找文件夹下的所有文件

使用glob.glob()函数可以查找指定目录下的所有文件,并返回一个包含所有文件路径的列表:

import glob

file_list = glob.glob("C:/path/to/directory/**", recursive=True)
print("目录下的所有文件列表:", file_list)

运行结果:

目录下的所有文件列表: ['C:/path/to/directory/file1.txt', 'C:/path/to/directory/file2.txt', 'C:/path/to/directory/subdirectory/file3.txt']

五、使用fnmatch模块的方法

fnmatch模块可以进行文件名的匹配。

1. 通配符匹配

使用fnmatch.fnmatch()函数可以进行通配符匹配,判断文件名是否符合指定规则:

import fnmatch

file_name = "file.txt"
if fnmatch.fnmatch(file_name, '*.txt'):
    print("文件名符合指定规则")
else:
    print("文件名不符合指定规则")

运行结果:

文件名符合指定规则

六、总结

本文介绍了在Python中读取文件名的多种方法。使用os模块可以获取当前工作目录、目录下的文件名、判断是否为文件或文件夹等;使用Path对象可以更方便地获取文件名和文件夹路径;使用glob模块可以查找符合规则的文件名;使用fnmatch模块可以进行文件名的通配符匹配。根据具体的需求,选择合适的方法来读取文件名,可以更好地处理文件操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程