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

如何让Python脚本无论执行位置都认为处于脚本所在目录?

解决方案

直接在你的Python脚本最开头(所有模块导入语句之前)添加切换工作目录的代码,强制脚本将工作目录切换到自身所在的目录,这样依赖当前工作路径查找文件的模块就能正常工作了:

import os
import sys

# 获取当前脚本的绝对路径对应的目录
script_directory = os.path.dirname(os.path.abspath(__file__))
# 切换工作目录到脚本所在目录
os.chdir(script_directory)

原理说明

  • __file__ 会返回当前执行的Python脚本的路径(可能是相对或绝对路径)
  • os.path.abspath(__file__) 将路径转换为绝对路径,避免相对路径带来的问题
  • os.path.dirname() 提取出脚本所在的目录路径
  • os.chdir() 切换当前进程的工作目录到指定的脚本目录,这样后续所有依赖当前工作目录的文件操作(包括你无法修改的模块里的操作)都会基于这个目录执行

这个方法不需要修改任何外部模块,也不受执行脚本时的初始工作目录影响,完美适配Unraid User Script插件的执行场景。

内容的提问来源于stack exchange,提问作者GFL

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:04:59