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

在Notepad++中运行Python时如何让脚本找到本地文件?

NppExec运行Python脚本相对路径找不到图片的解决办法

问题根源

NppExec默认的工作目录是Notepad的启动目录,而非当前脚本所在的文件夹。脚本里的images/xxx.png相对路径会基于Notepad启动目录查找,自然找不到脚本目录下的图片文件。

解决途径

1. 修正NppExec运行命令,切换到脚本目录

使用以下命令替代你之前的尝试,确保先切换到脚本所在目录再执行:

cmd /c cd "$(FULL_CURRENT_DIRECTORY)" && python "$(FULL_CURRENT_PATH)"
  • cd "$(FULL_CURRENT_DIRECTORY)":切换到当前脚本的所在目录
  • &&:仅在切换目录成功后执行Python脚本,避免路径错误时仍运行脚本
  • 若需要保留命令窗口查看输出,将/c改为/k即可

2. 脚本内使用绝对路径拼接(更健壮)

即使修正了运行命令,脚本被其他方式执行(如双击)时仍可能出现路径问题。可以用更简洁的方式获取脚本目录并拼接图片路径:

import os

# 获取当前脚本所在的绝对目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接图片路径(自动适配系统路径分隔符)
background = PhotoImage(file=os.path.join(script_dir, "images", "for_loop_breakdown.png"))
character = PhotoImage(file=os.path.join(script_dir, "images", "rectangle.png"))
  • os.path.abspath(__file__):直接获取脚本的绝对路径,比sys.argv[0]更稳定
  • os.path.join():自动处理Windows和类Unix系统的路径分隔符,避免手动拼接出错

原有命令失效原因

你之前的第一个命令使用&而非&&,如果切换目录失败(比如路径含特殊字符),依然会执行Python脚本,导致工作目录未正确切换。&&能保证切换目录成功后再执行脚本,可靠性更高。

内容的提问来源于stack exchange,提问作者no-one

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 21:04:52