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

运行Python代码报NameError: name '__file__' is not defined如何解决

报错触发原因
  • __file__是Python内置变量,仅当代码以.py脚本文件形式运行时才会被自动定义,存储的是当前脚本的本地路径。
  • 该报错说明你当前是在交互式运行环境中执行代码,常见的场景包括Python原生shell、Jupyter Notebook/Lab、IPython、IDE的交互式代码面板等,这类环境没有对应实体脚本文件,因此不会生成__file__变量,直接调用就会触发NameError。
解决方法

根据你的使用场景选对应方案即可:

  1. 临时调试/交互式环境运行:直接替换__file__相关的路径逻辑,用当前工作目录替代即可,修改后的完整可用代码如下:
# 注意提前导入依赖
import os
import time
import numpy as np
from tensorflow.keras.datasets import mnist
from tensorflow import keras

path_wd = os.path.abspath(
    os.path.join(
        # 替换原__file__部分为获取当前工作目录的方法
        os.getcwd(),
        '..',
        'temp',
        str(time.time())
    )
)
os.makedirs(path_wd)

# GET DATASET #
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# Normalize input so we can train ANN with it.
# Will be converted back to integers for SNN layer.
x_train = x_train / 255
x_test = x_test / 255

axis = 1 if keras.backend.image_data_format() == 'channels_first' else -1
x_train = np.expand_dims(x_train, axis)
x_test = np.expand_dims(x_test, axis)
  1. 保留原__file__逻辑:将完整代码保存为后缀为.py的独立文件,在终端通过python 你的文件名.py命令运行即可。

另外你提供的原始代码还有几处小问题需要提前修正:缺少相关依赖导入语句、中间有无效的enter code here标记、末尾有多余的.符号,运行前记得删除调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:54:03