如何使用Python获取目录下所有扩展名为.fits的文件名列表
Python 获取指定目录下所有 .fits 格式文件名列表的实现方法
直接用Python自带的标准库就能快速实现,不需要安装第三方依赖,以下是两种常用的便捷写法:
推荐写法(Python 3.4及以上版本):使用pathlib模块
这是当前Python官方推荐的路径处理方式,代码简洁易读:
from pathlib import Path # 将引号内的路径替换为你自己的目标目录路径 target_dir = Path("/your/target/directory/path") # 仅获取当前目录下的.fits文件名,不遍历子文件夹 fits_filename_list = [file.name for file in target_dir.glob("*.fits")] # 如果需要递归遍历所有子文件夹内的.fits文件,替换为rglob方法即可 # fits_filename_list = [file.name for file in target_dir.rglob("*.fits")]
运行后得到的fits_filename_list就是元素全为.fits格式文件名字符串的列表,可直接使用。
兼容旧版本写法:使用glob+os模块
如果使用的是Python 3.4以下的旧版本,可以用以下写法实现相同效果:
import glob import os target_dir = "/your/target/directory/path" # 仅获取当前目录下的.fits文件名 fits_filename_list = [os.path.basename(file_path) for file_path in glob.glob(os.path.join(target_dir, "*.fits"))] # 递归遍历所有子文件夹的写法 # fits_filename_list = [os.path.basename(file_path) for file_path in glob.glob(os.path.join(target_dir, "**/*.fits"), recursive=True)]
小提示:上述匹配默认大小写敏感,如果你的目录中存在后缀为
.FITS/.Fits这类大写/混合大小写命名的文件,可以将匹配规则修改为*.[fF][iI][tT][sS],或者遍历后通过判断文件名小写后缀的方式做兼容。
内容的提问来源于stack exchange,提问作者Dila
相关产品推荐
相关产品推荐

