如何在 Jupyter Notebook 中导入 python .py 文件

ide*_*uan 8 python anaconda jupyter-notebook python-3.8

我有一个 Jupyter Notebook,我想使用一些放入 config.py 文件中的凭据。该文件与 Jupyter Notebook 位于同一文件夹中。

我用的是线

import config
Run Code Online (Sandbox Code Playgroud)

问题是 Jupyter 回复了以下消息:

ModuleNotFoundError: No module named 'config.py'; 'config' is not a package
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助

ide*_*uan 1

经过一番研究,我找到了一种使用 Dotenv Python 包来解决我的需求的方法:pypi.org/project/python-dotenv

需要做什么?插入以下行:

!pip install python-dotenv

# Credentials file
%load_ext dotenv
%dotenv
import os
Run Code Online (Sandbox Code Playgroud)

然后将一个名为.env的隐藏文件放置在凭据所在的位置。就我而言,它看起来像这样:

CLIENT_ID = "XXXX"
CLIENT_SECRET = "YYYY"
Run Code Online (Sandbox Code Playgroud)

然后,在您的笔记本文件中,每当您需要加载凭据时,请使用:

CLIENT_ID = os.getenv("CLIENT_ID")
CLIENT_SECRET = os.getenv("CLIENT_SECRET")
Run Code Online (Sandbox Code Playgroud)

一切顺利!

解决方案归功于http://veekaybee.github.io/2020/02/25/secrets/