gpt4 book ai didi

python - shell 中已知的实例在脚本中使用时会给出 NameError?

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:07 25 4
gpt4 key购买 nike

恐怕我不明白一些基本的东西。我将 python 与 IPython 交互使用,并且或多或少地运行了以下脚本(VPP 是我用类 VPP 和类 Forecast 编写的模块,它们都从对象扩展)。

import os
import numpy as np
from VPPP import VPP, Forecast

setup = False
single_run = True

if setup:
vpp = VPP(foo=foo, bar=bar, ...)
forecast = Forecast('my_filename')
mapping = {'Forecast': 'PConInput.ys[xxx]', 'Price': 'tariffInput.ys[xxx]'}

if single_run:
fnext = forecast.predict(startday=146, nb_days=2)
vpp.adapt_forecasts(fnext, mapping)
vpp.optimize()

我有标志 setupsingle_run 因为 vpp 的实例化大约需要 2 分钟,我想稍后在使用不同参数的单次运行中使用相同的 vpp。

当我使用两个标志 True 运行脚本时,一切正常。但是,当我再次使用 setup = False 运行时,我收到一条错误消息:NameError: name 'forecast' is not defined (caused by fnext = ...)。然而,直接在 IPython shell 中输入,所有实例都是已知的,所有命令都可以正常工作。

这是 IPython 问题吗?每次我想运行我的脚本时,如何避免实例化我的 vpp 对象?

预先感谢您的回答。滚

最佳答案

您是否使用 IPython 运行脚本 %run命令?

在那种情况下使用:

In [#]: %run -i filename.py

-i在 IPython 的命名空间(而不是空命名空间)中运行文件。

要获取文档,请输入 %run?<ENTER>在 IPython 中。

关于python - shell 中已知的实例在脚本中使用时会给出 NameError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8992948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com