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

如何在macOS下通过环境变量设置Python open()的文件查找根目录?

macOS下Python open()相对路径指定查找根目录的解决方案

关键说明

Python的open()函数处理相对路径时,是基于**当前工作目录(CWD)**定位文件的,和PYTHONPATH无关(PYTHONPATH仅用于控制模块导入的搜索路径)。所以要实现需求,核心是修改脚本运行时的CWD,无需改动代码或移动文件。

具体实现方式

方式1:终端运行前切换目录

直接在终端中先切换到目标文件所在目录,再执行脚本:

cd /目标文件所在的绝对路径 && python3 /你的脚本的绝对路径.py

例如,目标文件在/Users/xxx/data,脚本在/Users/xxx/scripts,就执行:

cd /Users/xxx/data && python3 /Users/xxx/scripts/my_script.py

此时脚本的CWD就是/Users/xxx/data,open('file.txt')会自动在该目录下查找文件。

方式2:用Shell脚本封装运行流程

如果不想每次手动输入切换目录的命令,可以写一个Shell脚本(比如run_my_script.sh)来固定流程:

#!/bin/bash
# 切换到目标文件目录
cd /目标文件所在的绝对路径
# 执行Python脚本
python3 /你的脚本的绝对路径.py

给脚本添加执行权限:

chmod +x run_my_script.sh

之后每次运行脚本只需执行:

./run_my_script.sh

注意事项

  • 不要试图用PYTHONPATH来解决这个问题,它仅作用于模块导入,对文件路径查找没有影响。
  • 确保目标目录和脚本路径使用绝对路径,避免因终端初始目录不同导致的路径错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 17:17:19