如何在Jupyter Notebook中导入外部Python代码且不直接暴露敏感信息
你之前两种写法的错误原因:
sys.path.insert需要传入的是Python模块所在的目录路径,你直接传了config.py的文件路径,导致Python找不到可导入的模块%run的路径写法错误,Windows下的绝对路径不需要加~前缀,你写的~/C:user/是无效路径
以下是两种可行的实现方案:
方案1:导入独立配置模块
首先在你的本地路径C:/user/phlf/saved_data/下创建config.py,写入所有敏感信息:
# 仅保存在本地的config.py,不要上传到任何公开代码仓库 TEST_USER = "测试用户名" TEST_PWD = "测试密码" AUTH_TOKEN = "认证密钥"
之后在Jupyter Notebook中执行以下代码即可导入:
import sys # 填入config.py所在的文件夹绝对路径 sys.path.insert(0, "C:/user/phlf/saved_data") # 导入配置模块 import config
调用时直接使用config.TEST_USER、config.AUTH_TOKEN即可,不会在Notebook中暴露明文信息。
方案2:使用%run魔法命令执行外部文件
%run会执行目标Python文件,将文件中定义的所有变量直接加载到Notebook的当前运行环境中,正确写法如下:
%run "C:/user/phlf/saved_data/config.py"
执行完成后可以直接调用TEST_USER等变量使用,不需要加模块前缀。
注意:请务必将存储敏感信息的
config.py加入项目的.gitignore文件(如果使用Git管理代码),避免不小心提交到仓库造成信息泄露。
内容的提问来源于stack exchange,提问作者seanofdead
相关产品推荐
相关产品推荐

