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

多次导入模块有多安全?

金毅
2023-03-14
问题内容

我一直想知道这一点:是否可以保证多次导入模块都是安全的?当然,如果模块执行操作系统之类的操作,例如写入文件之类的东西,则可能不会,但是对于大多数简单模块而言,简单地随意执行导入是否安全?是否有规范模块全局状态的约定?


问题答案:

是的,import module无论它是什么模块,您都可以在一个Python程序中进行任意多次。import在第一个之后的每个后续访问访问缓存的模块,而不是重新评估它。



 类似资料:
  • 问题内容: 我想这是一个普遍的问题,如果不能在正确的位置发布,抱歉。 比如说,我有一个import的函数。如果我要多次从另一个文件调用此函数,我是否假设导入也将多次进行?有没有办法仅在模块不存在时才导入? 基本上,我有一个类,它调用从各个文件导入的多个函数,而不是导入整个文件,我认为仅导入该函数会更容易,但是现在我想知道从长远来看是否会令自己头痛进口过多。 问题答案: 正如描述的蟒蛇文档中,当蟒蛇

  • 我有一个多模块Maven项目,其中覆盖报告位于覆盖Java类之外的另一个模块中。将非空xml覆盖报告(带有覆盖信息)导入Sonarqube是成功的,但显示覆盖范围为0。 复制步骤: 签出以下github项目,并使用构建它。之后,存在一个聚合的xml报告,该报告位于中。您可以在其中以及相应的html-Report中看到覆盖率数据。 编辑:插件“JaCoco xml report importer”已

  • 问题内容: 据我了解,python模块永远不会导入两次,即该模块中的代码仅在首次导入时才执行。随后的import语句只需将模块添加到导入范围即可。 我有一个名为“ TiledConvC3D.py”的模块,但似乎已多次导入。我使用pdb在该模块的代码顶部打印堆栈。 这是从第一次执行模块开始的堆栈跟踪的结尾: 它将继续执行多次。但是,第二次调用的完整堆栈跟踪不会显示对的任何调用,因此不应执行这些执行:

  • 项目设置正在生成中。gradle文件包含main、integratest、test和performancetest模块,每个模块都位于一组java类和资源文件夹中。 将项目导入Intellij时,单元测试无法正常工作,因为Intellij会将所有资源合并到一个文件夹中,直到在Intellij项目设置中选择- 有没有办法在构建中包含此配置。格雷德尔档案= 但是在设置这个之后,我所有的模块共享资源,这

  • 问题内容: 编写python模块时,是否有办法防止客户端代码两次将其导入?就像c / c ++头文件一样: 非常感谢! 问题答案: Python模块不会多次导入。仅运行两次导入将不会重新加载模块。如果要重新加载它,则必须使用该语句。这是一个演示 是单行的模块 这是多次导入尝试的屏幕记录。

  • 问题内容: react.js的新功能并尝试遵循本教程。不幸的是,页面中给出的代码无法正常工作。webpack抱怨 想知道如何解决它。谢谢。 === App.jsx ==== === main.js === 更新1 我注释掉了所有内容,并在末尾添加了以下内容 现在没有编译错误,但是网页为空白。我不确定这里出什么问题了。 问题答案: 您只能声明一个默认出口,例如: 要么 然后做 如果要导出更多内容,则