You need to enable JavaScript to run this app. Blender运行读取txt坐标的立方体脚本时提示无文件或目录错误
优惠活动
大模型
产品
解决方案
定价
更多

Blender运行读取txt坐标的立方体脚本时提示无文件或目录错误

报错核心原因

Blender内置Python环境的运行逻辑和VS Code存在本质差异,也是触发报错的根本原因:

  • VS Code默认把你当前打开的项目根文件夹作为脚本运行的工作目录,写相对路径open("list.txt")会直接到项目根目录找文件,所以运行完全正常
  • Blender运行内置脚本时,默认的工作目录是Blender可执行程序的安装路径,根本不是你存放list.txt的自定义文件夹位置,直接用相对路径当然会抛「文件不存在」的错误。
可落地的解决方法

方法1:直接使用文件绝对路径

写全list.txt的完整磁盘路径,绕开工作目录的影响:

  • Windows环境(路径前加r避免反斜杠转义问题):
    with open(r"D:\我的Blender工程\list.txt", "r") as filestream:
    
  • macOS / Linux环境:
    with open("/Users/xxx/我的Blender工程/list.txt", "r") as filestream:
    

方法2:跟随Blend工程目录动态匹配路径(推荐)

把list.txt和你正在编辑的.blend工程文件放在同一个文件夹下,通过Blender自带的bpy模块自动获取工程文件的所在路径拼接目标文件位置,换电脑、挪文件夹都不会失效:

import bpy
import os

# 获取当前已保存的.blend工程文件的所在目录
blend_project_dir = os.path.dirname(bpy.data.filepath)
# 自动拼接list.txt的完整绝对路径
target_file = os.path.join(blend_project_dir, "list.txt")

with open(target_file, "r") as filestream:
    for line in filestream:
        # 加strip()去除行首尾空白、换行符,避免转整型时出错
        currentline = line.strip().split(",")
        total = str( int(currentline[0]) + int(currentline[1]) + int(currentline[2])) + "\n"
        print(currentline)

注意:如果你的.blend工程还没保存过(处于未命名的新建状态),bpy.data.filepath会返回空值,拼接路径会触发报错,运行脚本前请先把工程文件保存到对应文件夹。

方法3:临时排查工作目录位置

如果不确定Blender当前的工作目录到底指向哪里,可以先运行下面的代码打印路径,就能直观看到路径错配的问题:

import os
print("Blender脚本运行的默认工作目录:", os.getcwd())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.09 02:15:05