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

作者:用户LSAY 更新时间:2025-06-01 08:25:55 阅读时间: 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-11-11 12:01
鉴定商品真假软件主要有:可参考如下软件:我查查、商标卫士、防伪码查询、爱查等。每个软件具体可查询真假用途如下:1、我查查,一款生活实用类手机应用,基于图形传感器和移动互联网的商品条形码比价而设计使用,条码扫描支持一维EAN码、QR码、二。
发布时间:2024-10-29 18:09
答:东阳市属于浙江省金华市下属的县级市。从古至今,东阳木雕少闻名世界,同时金华火腿出东阳;东阳又是建筑之乡。更让人们久仰的是横店影视城。在横店影视城拍摄的剧组全年不断,中国大多数明星都来此拍过片。还有吸引了完成演员梦的爱好者在横店影视城。。
发布时间:2024-11-25 14:42
1、我们最常看到的结果是:终于明白要寻找的那个人是谁时,回首灯火阑珊处,已空无一人。2、我的存在,可否装点了你的梦境,你的身影却深深烙进我的生命。3、因为什么都没有,所以什么都不能输。4、你有多喜欢一个人,就看你想象中和他的未。
发布时间:2024-12-12 02:01
南京地铁4号线站点有龙江站、草场门站、云南路站、鼓楼站、鸡鸣寺站、九华山站、岗子村站、蒋王庙站、王家湾站、聚宝山站、徐庄站、金马路站、汇通路站、灵山站、东流站、孟北站、桦墅站、仙林湖站。路线详情可参阅下图:。
发布时间:2024-12-11 16:12
成都机场大巴不同线路手车时间不同,截止到2018年10月,成都机场大巴收车时间为:1号线收车时间:双流国际机场:与航班结束同步,市中心22:00(春运期间23时)。2/3号线收车时间:双向均为20 : 00。4号线收车时间:双流国际机场20。
发布时间:2024-10-31 15:00
词中生动描绘了北戴河海滨夏秋之交的壮丽景色,渔民乘风破浪的英雄气概,通过对往事的怀旧,对比古今。展示了无产阶级革命家前无古人的雄伟气魄和汪洋浩瀚的博大胸怀,抒发了诗人削平割据、统一中国的宏愿和自强不息、叱吒风云的豪情。扩展资料作品原文浪淘。
发布时间:2024-11-27 13:43
在国外用支付宝可以用以下步骤查看汇率:1、打开登录支付宝,找到搜索框,点击上方的搜索框,2、在搜索框输入“汇率换算”,就会出现“汇率换算”的服务号,点击选择官方的服务号,点击打开;3、进入之后,页面自动出现的是中国与美国的汇率换算,如果你要。
发布时间:2024-10-31 08:22
1、山东蓝翔技师学院:山东蓝翔技师学院位于山东省济南市,简称蓝翔学院,创办于1984年10月,是经国家人力资源和社会保障部批准成立的一所现代化、综合性的民办职业技术院校。学院下设汽车工程学院、美容美发与形象设计学院、烹饪学院、计算机学。
发布时间:2024-10-30 02:18
家长不用担心胎心检测会对胎儿有影响。声波是一种物理因素,一种能量,存在一个安全剂量的问题。超声对人体和胎儿有害还是无害,关键在于超声的剂量,也叫安全计量。就。
发布时间:2024-12-14 03:10
通气储备是指人体在进行剧烈运动或承受生理负荷时,肺活量能够提供的额外氧气的能力。它是评估个体心肺功能和运动耐受能力的重要指标。通气储备的计算通常基于最大通气量和静息通气量的差值。具体的计算步骤如下:测量个体的最大通气量(MVV),即在最大。