You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否用Python的from...import语句加载lib目录下的sharepoint_key.pem文件?

能否通过from x import y加载PEM私钥文件?

不能直接通过from x import y语句加载sharepoint_key.pem文件。Python的import机制仅支持加载Python模块(比如.py源码文件、.pyc编译文件,或是包含__init__.py的包结构),.pem这类非Python格式的文件不属于可导入的模块范畴。

可行解决方案

方案1:封装加载逻辑到Python模块

在lib目录下创建一个Python脚本(例如key_utils.py),实现读取PEM文件的函数,之后其他脚本可以通过导入这个模块来获取密钥内容:

# dir1/dir2/lib/key_utils.py
import os

def load_sharepoint_private_key():
    # 获取当前脚本所在目录,拼接PEM文件路径
    pem_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "sharepoint_key.pem")
    with open(pem_path, "r", encoding="utf-8") as f:
        return f.read()

其他脚本中调用方式:

import __root__
from dir1.dir2.lib.key_utils import load_sharepoint_private_key

private_key = load_sharepoint_private_key()

方案2:直接在业务脚本中读取文件

利用__root__.py已将项目根目录加入sys.path的特性,直接在需要使用密钥的脚本中构建文件路径并读取:

import __root__
import os

# 从项目根目录出发拼接PEM文件路径
root_dir = os.path.dirname(os.path.abspath(__root__.__file__))
pem_path = os.path.join(root_dir, "dir1", "dir2", "lib", "sharepoint_key.pem")

with open(pem_path, "r", encoding="utf-8") as f:
    private_key = f.read()

内容的提问来源于stack exchange,提问作者Saguro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 15:22:34