当前位置: 首页 > 面试题库 >

python 3中execfile的替代品?

燕禄
2023-03-14
问题内容

Python
2具有内置函数execfile,在Python
3.0中已将其删除。这个问题讨论了Python 3.0的替代方法,但是自Python
3.0以来已经进行了一些重大更改)。

execfile对于Python
3.2和将来的Python
3.x版本,最好的替代方法是什么?


问题答案:

2to3脚本内容替换

execfile(filename, globals, locals)

通过

exec(compile(open(filename, "rb").read(), filename, 'exec'), globals, locals)

这似乎是官方建议。您可能需要使用一个with块来确保立即再次关闭该文件:

with open(filename, "rb") as source_file:
    code = compile(source_file.read(), filename, "exec")
exec(code, globals, locals)

您可以省略globalslocals参数以在当前范围内执行文件,或用于exec(code, {})将新的临时字典用作全局和本地字典,从而在新的临时范围内有效地执行文件。



 类似资料:
  • 问题内容: 在Python 3中取消了通过删除以下命令快速加载脚本的所有简便方法 我是否有明显的替代品? 问题答案: 采用

  • 问题内容: 问题 在解决这个问题之后,似乎基于文件或磁盘的实现可能是解决我在此处提到的问题的正确解决方案。精简版: 目前,我已将实施为。 条目以相当固定的速率连续添加到其中。稍后对此进行详细说明。 最终,无论如何,这意味着JVM耗尽了堆空间。 在工作中,(强烈)建议我使用SQLite解决此问题,但是在问了上一个问题之后,我认为数据库不是适合此工作的合适工具。所以- 让我知道这听起来是否疯狂 -我认

  • 问题内容: 这是一个从来没有一个正确答案的问题,我已经在网上搜索了很多次,却找不到解决方案。 它适用于Firefox,Chrome。我的responseText将像Réunion这样返回char,它将显示为奇怪的符号。 我尝试了许多方法,例如编码和解码,在响应文件中设置标头都无效。我没主意了。请帮助某人。 在主文件中,确保设置了内容类型和字符集。 在您的AJAX加载页面中,确保您位于顶部。 问题解

  • 问题内容: 我的客户正在使用不带listagg功能的db2数据库,但是我需要以某种方式在一个字段中聚合主键信息。 现在(对于Oracle),我正在将其用作更大查询的一部分: 从9.7 Fix Pack4版本1开始,还有另一种方法可以在DB2之前的db2数据库中获取listagg函数的结果。 客户数据库的版本:Linux-企业服务器版本9.7,发行号08060107 我通过执行以下选择获得了它: 我

  • 我一直在通过Netbeans使用CodeNameOne设计一个应用程序,并遇到了一些问题,特别是“找不到符号”编译错误。经过进一步的研究,我发现这是由于CNO不支持某些库/杂项。 我想知道是否有其他方法可以使用以下库/执行任务: (从文件读取)导入java.io.file;符号:类文件位置:package java.io (抛出FileNotFoundException)导入java.io.Fil

  • 问题内容: 我必须在MySQL中编写这样的查询: 但是MySQL不支持关键字 EXCEPT 。是否有 标准模式 可以正确使用另一个模拟MySQL中的除外的运算符? 问题答案: 您可以使用NOT IN