如何在 Jupyter Notebook 中导入 python.py 文件
How to import a python .py file in Jupyter Notebook
我有一个 Jupyter Notebook,我想使用我放入 config.py 文件中的一些凭据。此文件与 Jupyter Notebook 位于同一文件夹中。
我用线
import config
问题是 Jupyter 回复了这条消息:
ModuleNotFoundError: No module named 'config.py'; 'config' is not a package
感谢您的帮助
import
语句用于引入外部库以在您的程序中使用。我认为您可能想要阅读该文件,因此只要它与您的笔记本位于同一文件夹路径中,您就可以使用此文件:
file = open("config.py", "r")
然后您可以将文件中的内容设置为一个变量并打印出来,例如使用:
fileContents = file.read()
print(fileContents)
如果这是存储的密码,您可能希望使用 csv 格式并添加某种加密。
您可能需要尝试
from config import <the_function_you_want_to_use>
这也适用于全局变量,具体取决于您在配置中存储凭据的方式。如果您从不同的文件夹导入模块,您可以通过在名为的文件夹中创建一个空的 .py 文件来将该文件夹放入一个包中:
__init__.py
然后在其中存储要用作模块的 .py 文件的副本并调用它。
我是新手,希望这对您有所帮助。
经过一些研究,我找到了一种使用 Dotenv 来解决我的需求的方法 Python Package: pypi.org/project/python-dotenv
需要做什么?插入以下行:
!pip install python-dotenv
# Credentials file
%load_ext dotenv
%dotenv
import os
然后将一个名为 .env 的隐藏文件放置在凭据所在的位置。就我而言,它看起来像这样:
CLIENT_ID = "XXXX"
CLIENT_SECRET = "YYYY"
然后,在您的笔记本文件中,每当您需要加载凭据时,请使用:
CLIENT_ID = os.getenv("CLIENT_ID")
CLIENT_SECRET = os.getenv("CLIENT_SECRET")
一切顺利!
我有一个 Jupyter Notebook,我想使用我放入 config.py 文件中的一些凭据。此文件与 Jupyter Notebook 位于同一文件夹中。
我用线
import config
问题是 Jupyter 回复了这条消息:
ModuleNotFoundError: No module named 'config.py'; 'config' is not a package
感谢您的帮助
import
语句用于引入外部库以在您的程序中使用。我认为您可能想要阅读该文件,因此只要它与您的笔记本位于同一文件夹路径中,您就可以使用此文件:
file = open("config.py", "r")
然后您可以将文件中的内容设置为一个变量并打印出来,例如使用:
fileContents = file.read()
print(fileContents)
如果这是存储的密码,您可能希望使用 csv 格式并添加某种加密。
您可能需要尝试
from config import <the_function_you_want_to_use>
这也适用于全局变量,具体取决于您在配置中存储凭据的方式。如果您从不同的文件夹导入模块,您可以通过在名为的文件夹中创建一个空的 .py 文件来将该文件夹放入一个包中:
__init__.py
然后在其中存储要用作模块的 .py 文件的副本并调用它。 我是新手,希望这对您有所帮助。
经过一些研究,我找到了一种使用 Dotenv 来解决我的需求的方法 Python Package: pypi.org/project/python-dotenv
需要做什么?插入以下行:
!pip install python-dotenv
# Credentials file
%load_ext dotenv
%dotenv
import os
然后将一个名为 .env 的隐藏文件放置在凭据所在的位置。就我而言,它看起来像这样:
CLIENT_ID = "XXXX"
CLIENT_SECRET = "YYYY"
然后,在您的笔记本文件中,每当您需要加载凭据时,请使用:
CLIENT_ID = os.getenv("CLIENT_ID")
CLIENT_SECRET = os.getenv("CLIENT_SECRET")
一切顺利!