私信  •  关注

Jonas Schäfer

Jonas Schäfer 最近创建的主题
Jonas Schäfer 最近回复了
9 年前
回复了 Jonas Schäfer 创建的主题 » ipython评估本地目录中的文件[重复]

AS suggested on the python-dev 最近的邮件列表 runpy 模块可能是一个可行的替代方案。引用该消息:

https://docs.python.org/3/library/runpy.html#runpy.run_path

import runpy
file_globals = runpy.run_path("file.py")

有细微的差别 execfile :

  • run_path 总是创建一个新的命名空间。它以模块的形式执行代码,因此全局变量和局部变量之间没有区别(这就是为什么只有 init_globals 参数)。返回全局。

    执行文件 在当前命名空间或给定命名空间中执行。语义学 locals globals ,如果给定,则类似于类定义中的局部变量和全局变量。

  • 运行路径 不仅可以执行文件,还可以执行鸡蛋和目录(有关详细信息,请参阅其文档)。