Python 导入模块最佳实践

标签 python import module

有一个自行运行的循环脚本,现在我想在第一个脚本中添加另一个脚本,我在第一个文件的开头插入了一个 var ,如果它是 true 则加载第二个模块。它有效,但我想知道他是否是一个好的做法?

if abilitaPippo == True:
    try:
        import Pippo
        Pippoabilitato = True
    except ImportError:
        Pippoabilitato = False
else:
    Pippoabilitato = False

最佳答案

在全局范围内“执行操作”的 Python 模块变得脆弱,因为它们在直接运行时与导入时的工作方式不同。同样,在 Python 进程中,模块只会“执行”一次 - 在第一次导入时。之后,import 检测到它已经加载并且不需要执行任何操作。

看看这个:http://plope.com/Members/chrism/import_time_side_effects

这种对副作用的避免也是典型 Python 习惯用法的原因

if __name__ == '__main__':
    main()

您经常会在从命令行运行的脚本中看到它。从命令行运行时,__name__ 全局变量是字符串“ma​​in”,但是当导入模块时,__name__ 是名称模块的,所以没有任何东西可以直接运行。

关于Python 导入模块最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20009855/

相关文章:

python - 配置 python 时启动 apache2 服务器时出错

python - 如何在 Jupyter Notebook 的引擎上正确导入模块以进行并行处理?

Javascript 导入在 Visual Studio Code 中不起作用

python - from x import y 和 import x.y 之间的区别

module - 如何在 rust 中将对象包含到 mod.rs 中?

rest - 将文件管理到 modules/Sails.js

python - 如何管理 "NavigationToolbar2TkAgg"工具栏的位置?

Python 计数单词

postgresql - 将 CSV 文件导入 PostgreSQL

shell - 使用 Mix 时 Elixir .exs 脚本 "module is not loaded and could not be found"