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

os.walk在VS Code中正常运行但Windows Python窗口无法找到文件

问题解决:Python脚本直接运行时无法通过文件名查找文件

问题核心原因

VS Code运行脚本时,默认工作目录是你打开的项目根目录;但直接双击脚本运行时,Python的工作目录是脚本所在的文件夹——如果脚本在子文件夹里,遍历范围就会局限在该子目录,自然找不到上级目录里的目标文件。

解决方案

1. 固定遍历的根目录为项目根路径

通过__file__获取脚本的绝对路径,以此定位到项目根目录,确保无论从哪里运行脚本,都从正确的起始点遍历:

import os

# 获取脚本自身的绝对路径
script_abspath = os.path.abspath(__file__)
# 假设项目根目录是脚本所在的父目录,可根据你的实际结构调整层级
project_root = os.path.dirname(script_abspath)

target_file = input("请输入要查找的文件名:")
# 从项目根目录开始遍历
for dirpath, _, filenames in os.walk(project_root):
    if target_file in filenames:
        full_path = os.path.join(dirpath, target_file)
        print(f"找到文件:{full_path}")
        # 插入你的单词查找逻辑
        with open(full_path, 'r', encoding='utf-8') as f:
            if "你要找的单词" in f.read():
                print("文件中包含目标单词")
        break
else:
    print(f"未找到文件 {target_file}")

2. 手动确认并切换工作目录(可选)

如果不想固定根目录,可以在脚本开头打印当前工作目录,方便排查:

print(f"当前工作目录:{os.getcwd()}")

直接运行时若工作目录不对,可通过命令行先切换到项目根目录,再运行脚本:

cd 你的项目根目录路径
python 脚本文件名.py

关键提示

永远不要依赖默认工作目录,不同运行环境的默认工作目录差异是这类问题的常见诱因,用脚本自身路径定位起始目录是最可靠的方式。

内容的提问来源于stack exchange,提问作者CNAL- Cocofoot

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 23:42:06