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

如何编写跨计算机兼容的文件路径?Python文件读取报错解决

解决Python仅用文件名打开文件的找不到问题

方法1:让数据文件与脚本同目录

把spam.csv和你的Python脚本放在同一个文件夹里,直接用文件名就能正常读取——Python默认会在脚本的当前工作目录查找文件。

方法2:动态获取脚本所在目录

如果不想固定文件位置,可通过代码自动获取脚本的绝对目录,再拼接文件名,跨系统也能兼容路径分隔符,不管脚本部署到哪都能找到同目录下的文件:

import os
import csv

# 获取当前脚本的绝对目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接文件路径
file_path = os.path.join(script_dir, 'spam.csv')

with open(file_path) as file:
    reader = csv.reader(file)
    spam_list = [row[0] for row in reader]

方法3:让用户指定文件位置(适合多环境部署)

如果文件和脚本无法放在同目录,可让运行代码的人手动输入路径,或者通过配置文件读取路径,灵活性拉满:

import csv

# 让用户输入文件路径(也可替换为读取配置文件的逻辑)
file_path = input("请输入spam.csv的路径:")

with open(file_path) as file:
    reader = csv.reader(file)
    spam_list = [row[0] for row in reader]

报错原因说明

Python默认的当前工作目录不一定是脚本所在的目录。比如你在终端的~/Documents目录下运行python ~/Projects/script.py,此时工作目录是~/Documents,而非脚本所在的~/Projects,直接用文件名查找时会在~/Documents里找,自然找不到目标文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:52:04