You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

glob返回空列表但调试模式正常的问题求助

问题分析与解决

核心原因:工作目录不匹配

直接运行脚本时,Python的当前工作目录可能不是脚本所在的D:\python,而调试模式会默认以脚本所在目录作为工作目录,这就是两种运行结果存在差异的关键。

验证方法

在脚本中添加以下代码,确认当前工作目录:

import os
print(os.getcwd())

如果输出结果不是D:\python,就可以确定是工作目录的问题。

解决办法

有三种可行方案:

  1. 手动切换工作目录后运行脚本
    打开命令行,先执行cd D:\python,再运行脚本文件。
  2. 脚本内自动切换到自身目录
    import os
    import glob
    # 获取脚本所在的绝对目录
    script_path = os.path.abspath(__file__)
    script_dir = os.path.dirname(script_path)
    # 切换工作目录
    os.chdir(script_dir)
    # 执行文件查找
    pdf_files = glob.glob("*pdf")
    print(pdf_files)
    
  3. 直接使用绝对路径模式查找
    无需切换目录,直接拼接脚本目录和文件名模式:
    import os
    import glob
    script_dir = os.path.dirname(os.path.abspath(__file__))
    pdf_files = glob.glob(os.path.join(script_dir, "*pdf"))
    print(pdf_files)
    

库冲突排查(可选)

如果确认工作目录没问题,再排查库冲突:

  • 新建一个空白脚本,只导入glob并执行glob.glob("*pdf"),观察是否正常返回结果。
  • 如果空白脚本运行正常,说明原脚本中其他导入的库可能修改了工作目录或影响了glob的行为,可逐步注释原脚本中的其他代码,定位冲突的库或代码段。

内容的提问来源于stack exchange,提问作者Cuteo-P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 20:57:39