python - 如何设置 sys.modules ["m"]=<当前模块>

标签 python

我有这样的结构:

merged.py:
  everything

main.py:
  import merged
  sys.modules['othermodule'] = merged
  othermodule.f()

如果我将它合并到单个文件 main.py 中,有什么方法可以告诉 othermodule 内部解析为 main >main.py?

这种情况发生在使用amalgamate时package 将所有内容合并到单个文件中,但结果是两个具有上述结构的文件,我正在尝试将其合并为一个文件

最佳答案

sys.modules['othermodule'] = sys.modules[__name__]

获取您所在的当前模块并设置为其他模块。 现在您可以:

import othermodule
othermodule.f()

如果您更喜欢将模块分配给变量,您可以简单地:

othermodule = sys.modules[__name__]
othermodule.f()

关于python - 如何设置 sys.modules ["m"]=<当前模块>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38884630/

相关文章:

python - 使用 xpath 单击按钮

python - 即使安装了 CUDA 和带有 cuda 的 pytorch,Pytorch cuda 也不可用。怎么修?

python - 如何有条件地从元组列表中删除元素?

python - 具有可能重复项的 numpy 数组的排名

python - 使用 numpy 和 scipy 将数组转换为标量

python - 循环遍历多个不同大小的Python字典

python - 从 dict 列表中删除具有相同 id 的 dict

python - 服务器仅与一个客户端(Python Socket)建立连接

python - 如何检查我是否在Python的shell(有终端)中运行?

尝试将 pytorch 模块添加到循环中的顺序模块时,Python 执行挂起