如何将一串Python代码编译成可以调用其功能的模块?

托德·迪森多夫

在Python中,我有一串包含某些功能的Python源代码:

mySrc = '''
def foo():
    print("foo")

def bar():
    print("bar")
'''

我想将此字符串编译成某种类似于模块的对象,以便可以调用代码中包含的函数。

这是我想做的伪代码:

myMod = myCompile(mySrc)
myMod.foo()

这在Python中可行吗?我已经尝试过了,但是不起作用:

myMod = compile(mySrc, '', 'exec')
myMod.foo()

这将产生如下错误消息:

<code object <module> at 0x104154730, file "", line 1>Traceback (most recent call last):
  File "myfile.py", line XX, in run
    myMod.foo()
AttributeError: 'code' object has no attribute 'foo'
Ry-

您必须同时编译并执行它:

myMod = compile(mySrc, '', 'exec')
exec(myMod)
foo()

您可以传递命令exec以停止foo“泄漏”出去。将其与使用types.ModuleType以下命令创建的模块对象结合

from types import ModuleType
compiled = compile(mySrc, '', 'exec')
module = ModuleType("testmodule")
exec(compiled, module.__dict__)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将CGAL代码编译成共享库?

来自分类Dev

如何将C ++代码编译成独立的Windows可执行文件?

来自分类Dev

将C源代码编译成obj文件

来自分类Dev

将Solr源代码编译成WAR

来自分类Dev

用cython将c ++代码编译成pyd

来自分类Dev

将代码编译成apk时,图片不会显示

来自分类Dev

将Python 3.4代码编译成EXE吗?

来自分类Dev

将Brotli编译成DLL .NET可以参考

来自分类Dev

Scala编译成机器代码

来自分类Dev

将数据编译成 .json 文件

来自分类Dev

翡翠编译成一行

来自分类Dev

如何将一串文本转换为一串位?

来自分类Dev

将npm模块编译成单个文件,而无需依赖

来自分类Dev

C代码在Visual Studio中可以编译成哪种汇编语言?

来自分类Dev

如何将一串数字转换为char

来自分类Dev

如何将一串字母和数字分成数组并分别在javascript中对其进行排序

来自分类Dev

如何使用AMD模块运行编译成单个文件的TypeScript应用程序?

来自分类Dev

tsc 将 ES6 代码编译成 ES5

来自分类Dev

Java/C - 将本机语言代码编译成共享库 DLL

来自分类Dev

如何将带有“include”部分的 Asciidoc 文档编译成单个 adoc 文件

来自分类Dev

为什么VS2013将一个函数调用编译成两个指令而不是一个?

来自分类Dev

用标题栏将多个文件编译成一个文件

来自分类Dev

将许多csv文件编译成一个新的csv表

来自分类Dev

将一个SASS / COMPASS文件编译成多个CSS文件

来自分类Dev

将多个.jsx文件编译成一个.js文件

来自分类Dev

将 sass 编译成一个 css 文件时 Gulp 复制 css

来自分类Dev

如何使用grunt-sass将多个scss文件编译成多个css文件?

来自分类Dev

Typo3 Fluid 模板编译成 PHP 代码?

来自分类Dev

如何将一串句子重新格式化为每行一个句子 Python

Related 相关文章

  1. 1

    如何将CGAL代码编译成共享库?

  2. 2

    如何将C ++代码编译成独立的Windows可执行文件?

  3. 3

    将C源代码编译成obj文件

  4. 4

    将Solr源代码编译成WAR

  5. 5

    用cython将c ++代码编译成pyd

  6. 6

    将代码编译成apk时,图片不会显示

  7. 7

    将Python 3.4代码编译成EXE吗?

  8. 8

    将Brotli编译成DLL .NET可以参考

  9. 9

    Scala编译成机器代码

  10. 10

    将数据编译成 .json 文件

  11. 11

    翡翠编译成一行

  12. 12

    如何将一串文本转换为一串位?

  13. 13

    将npm模块编译成单个文件,而无需依赖

  14. 14

    C代码在Visual Studio中可以编译成哪种汇编语言?

  15. 15

    如何将一串数字转换为char

  16. 16

    如何将一串字母和数字分成数组并分别在javascript中对其进行排序

  17. 17

    如何使用AMD模块运行编译成单个文件的TypeScript应用程序?

  18. 18

    tsc 将 ES6 代码编译成 ES5

  19. 19

    Java/C - 将本机语言代码编译成共享库 DLL

  20. 20

    如何将带有“include”部分的 Asciidoc 文档编译成单个 adoc 文件

  21. 21

    为什么VS2013将一个函数调用编译成两个指令而不是一个?

  22. 22

    用标题栏将多个文件编译成一个文件

  23. 23

    将许多csv文件编译成一个新的csv表

  24. 24

    将一个SASS / COMPASS文件编译成多个CSS文件

  25. 25

    将多个.jsx文件编译成一个.js文件

  26. 26

    将 sass 编译成一个 css 文件时 Gulp 复制 css

  27. 27

    如何使用grunt-sass将多个scss文件编译成多个css文件?

  28. 28

    Typo3 Fluid 模板编译成 PHP 代码?

  29. 29

    如何将一串句子重新格式化为每行一个句子 Python

热门标签

归档