【揭秘Python高效技巧】轻松获取当前py文件所在目录下的所有文件列表

作者:用户LSAY 更新时间:2025-06-01 11:20:13 阅读时间: 2分钟

在Python中,获取当前py文件所在目录下的所有文件列表是一个常见的操作。这可以帮助开发者快速定位资源文件、检查目录结构或者进行自动化脚本编写。以下是一些高效的方法来实现这一功能。

方法一:使用os模块

Python的os模块提供了丰富的操作系统交互功能,其中包括获取文件列表的方法。

import os

def get_files_in_current_directory():
    # 获取当前文件的绝对路径
    current_file_path = os.path.abspath(__file__)
    # 获取当前文件的目录
    current_directory = os.path.dirname(current_file_path)
    # 获取目录下的所有文件和文件夹
    files = os.listdir(current_directory)
    # 过滤出文件,排除文件夹
    files = [file for file in files if os.path.isfile(os.path.join(current_directory, file))]
    return files

# 调用函数并打印结果
files_list = get_files_in_current_directory()
print(files_list)

这段代码首先获取当前文件的绝对路径,然后通过os.path.dirname获取当前文件的目录。接着使用os.listdir获取目录下的所有文件和文件夹名称,最后通过列表推导式过滤出文件,排除文件夹。

方法二:使用glob模块

glob模块提供了一个更高级别的接口来获取符合特定模式的文件列表。

import glob

def get_files_in_current_directory_with_glob():
    # 获取当前文件的目录
    current_directory = os.path.dirname(os.path.abspath(__file__))
    # 使用glob获取当前目录下的所有文件
    files = glob.glob(os.path.join(current_directory, '*'))
    # 过滤出文件,排除文件夹
    files = [file for file in files if os.path.isfile(file)]
    return files

# 调用函数并打印结果
files_list = get_files_in_current_directory_with_glob()
print(files_list)

这里使用了glob.glob来匹配当前目录下的所有文件。*是一个通配符,代表匹配任意字符。然后通过列表推导式过滤出文件。

方法三:使用pathlib模块

Python 3.4及以上版本引入了pathlib模块,它提供了一个面向对象的方式来处理文件系统路径。

from pathlib import Path

def get_files_in_current_directory_with_pathlib():
    # 获取当前文件的路径对象
    current_file_path = Path(__file__)
    # 获取当前文件的目录
    current_directory = current_file_path.parent
    # 获取目录下的所有文件
    files = current_directory.glob('*')
    # 过滤出文件,排除文件夹
    files = [file for file in files if file.is_file()]
    return [file.name for file in files]

# 调用函数并打印结果
files_list = get_files_in_current_directory_with_pathlib()
print(files_list)

这里使用了pathlib模块的Path对象和glob方法来获取当前目录下的所有文件。is_file方法用于检查路径是否指向一个文件。

总结

以上三种方法都可以用来获取当前py文件所在目录下的所有文件列表。选择哪种方法取决于你的个人喜好和具体需求。os模块和glob模块适用于大多数情况,而pathlib模块则提供了更现代、面向对象的方法。

大家都在看
发布时间:2024-10-31 03:56
哑铃成为了越来越普遍的一种健身器械,而哑铃主要是针对手臂上的肌肉进行锻炼的,所以对于想要增强自己手臂力量锻炼出肌肉的人来说,可以适当的选择哑铃进行锻炼。但是。
发布时间:2024-12-14 03:48
在热力学和物理化学中,我们常常会接触到各种状态函数,如内能U、焓H、自由能F等。然而,q(热量)却不是一个状态函数,这究竟是为什么呢?首先,让我们总结一下状态函数的定义和特点。状态函数是指那些只依赖于系统当前状态的宏观性质,而与系统达到该。
发布时间:2024-12-11 03:42
地铁时刻表(附图)首车:6:00 由南站----小淀 小淀---南站 两端对发末车:22::05由小淀---南站 22:10由南站---小淀地铁3号线自西青区的天津南站引出,途径海泰大道,过外环线进入市区,沿迎水道、过水上公园,沿水上北。
发布时间:2024-12-11 04:39
机场专线末班车比较晚的,是在晚上23点。但是从浦东机场到上海南站需要停5-6站。所以至少需要耗时1个多小时。。
发布时间:2024-11-03 20:39
我们都了解,孕妇在怀孕的过程中休重会不断提升,这是由于准妈妈怀里的小孩也在一天天的长大了着,伴随着胎宝宝的成形、生长发育,准妈妈的肚子也会越来越大,呈现着小。
发布时间:2024-12-14 06:18
车次始发站-终点站列车类型发站发时到站到时里程历时G7362杭州-上海高铁嘉兴南06:41上海07:3611700:55G7541上海虹桥-温州南高铁嘉兴南06:48温州南10:3650503:48G7331上海虹桥-杭州高铁嘉兴南07:0。
发布时间:2024-12-09 21:03
欢迎关注憨车先生(广州站),我们将持续给您带来广州地区的车闻信息、汽车资讯。本文来源于汽车之家车家号作者,不代表汽车之家的观点立场。。
发布时间:2024-12-11 09:37
南京地铁1号线地铁线路 迈皋桥5:46-23:07 奥体中心5:51-23:08 1-8站:2元,9-12站:3元,13站以上:4元(版以上均包含本站)权;IC卡通用(95折) 地铁公司去程: 迈皋桥 - 红山动物园 - 南京车站(地铁南。
发布时间:2024-11-11 12:01
第四中学创建于1954年,是一所位于市中心的现代化完全中学,兼含初中部与高中部。1997年1月改属于石家庄市桥东区教育局,2014年因区域划分改属于石家庄桥西区教育局。2020年12月,获评2019-2020年节约型公共机构示范单位。。
发布时间:2024-10-30 14:15
在中医中,有很多疾病都可以用风邪入侵来解释,比如说发热、感冒等。风邪重的话,患者也是非常不好受的,因为这会给患者带来轻扬开泄、善行数变、风性主动等多种类型的。