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

如何在Python中正确使用os_dir读取CSV文件并获取工作目录?

解决Jupyter环境下获取目录并读取CSV的问题

你得到临时目录的原因是当前在Jupyter Notebook/IPython交互式环境中运行代码——这种环境里,代码不是以独立的.py文件执行的,__file__变量不存在,inspect模块获取到的是IPython内核临时运行文件的路径,自然会输出临时目录。

场景1:获取当前工作目录(推荐Jupyter环境使用)

直接用os.getcwd()获取你打开Jupyter时的初始目录,这也是你通常存放CSV文件的位置:

import os
# 获取当前工作目录
current_work_dir = os.getcwd()
print(current_work_dir)

# 拼接CSV文件路径并读取
csv_filename = "你的文件.csv"
csv_path = os.path.join(current_work_dir, csv_filename)

# 示例:用内置open读取
with open(csv_path, 'r', encoding='utf-8') as file:
    csv_content = file.read()

# 如果你用pandas读取
import pandas as pd
df = pd.read_csv(csv_path)

场景2:兼容脚本文件和Jupyter环境(获取脚本/工作目录)

如果你的代码需要同时在独立.py脚本和Jupyter中运行,可以写一个兼容函数:

import os
import inspect

def get_target_dir():
    # 判断是否为独立脚本运行
    if '__file__' in locals():
        # 脚本文件所在目录
        return os.path.dirname(os.path.abspath(__file__))
    else:
        # Jupyter环境下返回当前工作目录
        return os.getcwd()

target_dir = get_target_dir()
print(target_dir)

# 读取CSV
csv_path = os.path.join(target_dir, "数据文件.csv")
# 后续读取操作同上

额外提示

  • 在Jupyter中可以用os.listdir()查看当前工作目录下的所有文件,确认你的CSV文件确实存在,避免文件名拼写错误(注意:Linux/macOS区分大小写,Windows不区分)。
  • 如果CSV文件在子目录里,直接在os.path.join里添加子目录层级即可,比如os.path.join(target_dir, "data", "file.csv")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 15:53:13