glob.glob传入变量返回空列表,直接用绝对路径正常的技术求助
问题分析与解决办法
嘿,我一眼就瞅出你代码里的问题啦!你现在把变量名excelfolders_path直接写到了字符串引号里,glob会把它当成路径的字面量部分去查找——也就是说它在找一个叫excelfolders_path的文件夹,而不是你用os.getcwd()获取的当前工作目录,这当然会返回空列表啦。
给你几个可行的解决办法,按推荐程度排序:
推荐用
os.path.join()(跨平台友好):这个方法会自动适配不同操作系统的路径分隔符(Windows用\,Linux/macOS用/),避免手动拼接路径时出错:import os import glob excelfolders_path = os.getcwd() # 用os.path.join拼接路径片段 files = glob.glob(os.path.join(excelfolders_path, '*', 'export_dashboard_*_*')) print(files)简洁的f-string写法(Python 3.6+适用):如果你的Python版本在3.6及以上,用f-string拼接路径可读性更强:
import os import glob excelfolders_path = os.getcwd() files = glob.glob(f'{excelfolders_path}/*/export_dashboard_*_*') print(files)基础字符串拼接:虽然可行,但不推荐跨平台场景使用,因为要手动处理路径分隔符:
import os import glob excelfolders_path = os.getcwd() files = glob.glob(excelfolders_path + '/*/export_dashboard_*_*') print(files)
内容的提问来源于stack exchange,提问作者William Jones
相关产品推荐
相关产品推荐

