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

Python从环境变量读取文件名时的路径问题求助

解决Python读取可执行目录文件的路径问题

问题根源

直接用环境变量获取的文件名时,Python会以当前工作目录(而非脚本/可执行文件所在目录)查找文件,导致找不到;手动加.\的话,路径会被解析为相对当前工作目录的路径,而非目标目录。

解决方案

通过获取Python可执行文件的绝对目录,再与环境变量中的文件名拼接,同时标准化路径,确保跨平台兼容:

  1. 导入依赖模块
import os
import sys
  1. 获取可执行文件所在的绝对目录
# 获取Python可执行文件的绝对路径,再提取目录部分
exe_dir = os.path.dirname(os.path.abspath(sys.executable))
  1. 处理环境变量中的文件名并拼接绝对路径
# 从环境变量读取文件名,可设置默认值(可选)
filename_env = os.environ.get('HIRES_2023_FILE', '2023_hires.csv')
# 标准化路径,自动去除多余的`.\`/`./`等相对前缀
clean_filename = os.path.normpath(filename_env)
# 拼接成完整的绝对路径
full_file_path = os.path.join(exe_dir, clean_filename)
  1. 打开文件
with open(full_file_path, 'r', encoding='utf-8') as file:
    # 处理文件内容逻辑
    pass

关键说明

  • 环境变量只需设置为HIRES_2023_FILE=2023_hires.csv,无需加.\前缀。
  • os.path.normpath()会自动处理不同系统的路径分隔符(Windows的\和Linux的/),同时清理无效的相对路径前缀,比手动str.replace()更可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 05:15:03