【问题标题】:Azure Synapse: Can I import modules from other notebooks in the same worksapce?Azure Synapse:我可以从同一工作区中的其他笔记本导入模块吗?
【发布时间】:2022-10-21 19:51:54
【问题描述】:

在普通的 Python 项目中,我们可能有一个从同级或子文件夹/模块导入的父 py 文件(由 __init__.pyfrom .folder import module 等初始化。

有没有办法在给定的(例如dev)工作区中使用 Synapse 笔记本来做到这一点?

前任。我想创建一个用于日志记录的笔记本/python 模块 - 一个包装函数的包装器。我不想把这个模块复制粘贴到 20 个不同的笔记本中。

谢谢!

【问题讨论】:

    标签: azure-synapse


    【解决方案1】:

    是的,您可以使用称为笔记本参考的东西 您可以使用 %run magic 命令在当前笔记本的上下文中引用另一个笔记本。参考笔记本中定义的所有变量都在当前笔记本中可用。 %run 魔术命令支持嵌套调用,但不支持递归调用。如果语句深度大于五,您将收到异常。

    示例:%run //Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }。

    Source

    【讨论】:

    • 谢谢!将通读这些文档,但这会运行笔记本的全部内容吗?我不想执行笔记本,只访问其中的函数/变量。 (编辑:这里的上下文是我可能想要运行一个笔记本来获取一个变量,从一个不仅仅是变量的“源”的笔记本,如果这有意义 - > IE,它可能是一个实际的笔记本调用执行任务的管道)
    • 是的,我相信你能做到。因为它是类似于导入模块的引用。
    猜你喜欢
    • 2022-12-01
    • 1970-01-01
    • 2022-07-27
    • 2021-04-24
    • 2018-07-29
    • 1970-01-01
    • 2018-08-19
    • 2020-12-01
    • 2022-08-19
    相关资源
    最近更新 更多