解决 python notebook 导入后的按键错误

Solving key error of a python notebook after importation

大家好。我尝试将一个笔记本 configs.ipynb 导入另一个笔记本 app.ipynb。但是,在输入之后,我得到了一个错误,这是一个关键错误。错误如下:

KeyError                                  Traceback (most recent call last)
<ipython-input-4-789a3306b22a> in <module>()
      1 import import_ipynb
----> 2 import configs

8 frames
configs.ipynb in <module>()

<decorator-gen-91> in cd(self, parameter_s)

/usr/local/lib/python3.6/dist-packages/IPython/core/magics/osm.py in cd(self, parameter_s)
    355             else:
    356                 cwd = py3compat.getcwd()
--> 357                 dhist = self.shell.user_ns['_dh']
    358                 if oldcwd != cwd:
    359                     dhist.append(cwd)

KeyError: '_dh'

这是下面 configs.ipynb 中的文件:

from attrdict import AttrDict  # type: ignore

config = {
    "encoder_path": "/content/drive/MyDrive/decoder_model.bin",
    "decoder_path": "/content/drive/MyDrive/encoder_model.bin",
    "input_word_index": "/content/drive/MyDrive/input_word_index.pkl",
    "target_word_index": "/content/drive/MyDrive/target_word_index.pkl",
    "url": "https://api.mymemory.translated.net/get",
    "max_length_src": 47,
    "max_length_tar": 47,
}
config = AttrDict(config)

请帮我解决错误。谢谢。

我认为你误解了这个概念。如果我错了,请纠正我。您正在尝试将 configs.ipynb 中编写的 configs 函数导入另一个笔记本吗?

如果你正在这样做,那么你可能需要将下面的 python configs 函数复制并粘贴到 configs.py 与另一个笔记本 [=17] 相同的文件夹中=].

请将以下函数复制到 configs.py 文件。

from attrdict import AttrDict  # type: ignore

config = {
    "encoder_path": "/content/drive/MyDrive/decoder_model.bin",
    "decoder_path": "/content/drive/MyDrive/encoder_model.bin",
    "input_word_index": "/content/drive/MyDrive/input_word_index.pkl",
    "target_word_index": "/content/drive/MyDrive/target_word_index.pkl",
    "url": "https://api.mymemory.translated.net/get",
    "max_length_src": 47,
    "max_length_tar": 47,
}
config = AttrDict(config)

现在你的文件结构应该是这样的:

Main Folder
├── configs.py # Make sure you have this.
├── configs.ipynb
├── app.ipynb

然后转到 app.ipynb 并执行以下操作

import configs