“from-import”是否执行整个模块?

2024-06-26

好的,所以我知道from-import与“完全”相同import,但这显然不是因为命名空间的填充方式不同。

我的问题主要是因为我有一个utils我的应用程序中的每个其他模块都使用一个或两个函数的模块,我正在努力合并标准库logging模块,据我所知,我需要这样做:

import logging
logging.basicConfig(filename="/var/log")  # I want file logging

baselogger = logging.getLogger("mine")
#do some customizations to baselogger

然后要在不同的模块中使用它,我将再次导入日志记录:

import logging
logger = logging.getlogger("mine")

# log stuff

但我想知道的是如果我做from utils import awesome_func我的记录器一定会被设置吗?日志记录模块是否会按照我想要的方式设置?

这也适用于其他通用设置。


你的问题的答案是肯定的。

有关导入过程的详细说明,请参阅 Frederik Lundh 的“导入Python模块 http://effbot.org/zone/import-confusion.htm".

特别是,我将引用回答您的查询的部分。

Python 如何导入模块?

[...]

  1. 创建一个新的空模块对象(这本质上是一个字典)
  2. 将该模块对象插入 sys.modules 字典中
  3. 加载模块代码对象(如有必要,请先编译模块)
  4. 在新模块的命名空间中执行模块代码对象。代码分配的所有变量都可以通过模块对象使用。

以及关于使用from-import:

导入模块的方法有很多种

[...]

从 X 导入 a、b、c导入模块 X,并在当前命名空间中创建对给定对象的引用。或者换句话说,您现在可以在程序中使用 a 和 b 和 c。

请注意,我忽略了一些事情。整个文档值得阅读,它实际上很短。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“from-import”是否执行整个模块? 的相关文章

随机推荐

  • 显示进度的脚本?

    当我的 python 脚本处理大文件时 我想向用户显示进度 我见过脚本印刷 在 shell 中的同一光标位置显示进度 我怎样才能在Python中做到这一点 你应该使用python 进度条 http code google com p pyt
  • Scipy odeint 非负解

    显然 从 ODE 求解器获得非负解并非易事 https stackoverflow com questions 6977107 solving a delay differential equation dde system constra
  • git 列出所有可用命令

    有没有命令可以显示 GIT 中所有可用命令的列表 有git help但它显示 usage git version exec path
  • 系统.安全.加密与 PCLCrypto

    我们正在删除系统中的许多共享功能并将其移植到 PCL 库中 我在使用 PCLCrypto 时遇到问题 我正在获取数据库中的一些现有数据 并尝试使用相同的算法对其进行解密 我得到了值 但末尾有 16 个额外字节 这些字节都是垃圾 参见下面的代
  • 如何提取世界上每只海龟走过的路径并将其保存在 .csv 文件中?

    我仍在尝试提取世界上每只海龟所走路径的坐标 例如 我想知道海龟 0 所采取的路径是 patch 00 patch 0 5 patch 0 2 和 patch 1 4 并将此信息保存在 csv 文件中 这样 我想提取世界上所有海龟所走路径的坐
  • corr.test 与 cor.test p 值

    我正在尝试使用 psych 包 psych 1 6 9 中的 corr test 但在使用 method spearman 时 它似乎给出了与 cor test 不同的 p 值 相关系数相同 但 p 值不同 我整理了一些示例代码和输出 如下
  • 使用 roxygen2 记录数据集

    我正在尝试使用 roxygen2 记录 R 包中的一些数据集 仅考虑其中之一 I have mypkg data CpG human GRCh37 RDa 其中包含一个名为的对象CpG human GRCh37 和一个名为 mypkg R
  • numpy.genfromtxt 生成看起来像元组的数组,而不是二维数组 - 为什么?

    我在跑genfromtxt像下面这样 date conv lambda x str x replace time conv lambda x str x a np genfromtxt input txt delimiter skip he
  • 如何每次在新进程中打开文件而不考虑文件打开器

    我正在使用 windows 7 64 位 python 2 7 我正在打开文件 并监视文件更改 然后等待直到打开的文件关闭 这对于简单的记事本文件打开器来说效果很好 由于记事本在新的进程 ID 中打开每个文件 而记事本 在单个记事本 进程
  • Pylance 无法在 VSCode Jupyter 笔记本中工作

    皮兰斯工作于 py files 但不适用于 Jupyter ipynb笔记本 我尝试保存 ipynb 同样的问题 如何在我的笔记本中启用 Pylance 警告 Jupyter 扩展似乎不支持 Pylance 我提交这个问题就是为了解决这个缺
  • EntLib5:登录应用程序块未记录到事件日志(例外:无法构造 LogWriter 类型)-任何人都可以帮忙吗?

    你好呀 我刚刚设置了 Enterprise Library 5 的日志记录应用程序块部分 我认为我已经完成了正确的操作 但它没有记录到事件日志 它在写入方法上出错并给出了以下异常 The type LogWriter cannot be c
  • Postgres 数据库中特殊的时区处理

    我的环境 I m in 法国巴黎 UTC 1 or CET It s 12am 00 00 我们在2016 年 11 月 25 日 My Postgres数据库托管于亚马逊网络服务 AWS RDS 在eu west 1 region 问题
  • 尽管遵循以下说明,PWA iOS Splash 仍不显示

    我正在制作 PWA 并尝试显示闪屏 我正在关注这个教程 https developer apple com library archive documentation AppleApplications Reference SafariWe
  • 刷新 ArrayAdapter onResume [notifyDataSetChanged() 不起作用]

    我正在使用片段创建一个联系人列表应用程序 其中一个片段是联系人列表中的姓名列表 另一个是其余详细信息 这是显示名称列表的类 public class MyListFragment extends ListFragment private C
  • 如何使用 python 绘制具有两个斜率的线

    我使用下面的代码绘制一条具有两个斜率的线 如图所示 斜率应该在一定限制 limit 5 之后下降 我正在使用矢量化方法来设置斜率值 还有其他方法来设置斜率值 有人可以帮助我吗 import matplotlib pyplot as plt
  • 无法使用 TF 服务构建,本地构建正常

    我正在尝试让一个项目能够进行持续集成构建 目前 它由库 dll net 4 5 应用程序和 WP8 应用程序组成 我使用团队基础服务和 GIT 作为我的源代码控制 我能够设置构建配置 但失败并显示以下消息 Exception Message
  • 单元测试期间的 Python 日志捕获

    我正在尝试捕获在 python 单元测试过程中创建的日志 并在此处看到了代码 https stackoverflow com a 1049375 576333 https stackoverflow com a 1049375 576333
  • 用于分页的php示例脚本[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 任何人都可以建议一个好的分页 php 脚本 其中人们想要分页显示数据库中的大量项目 以下链接可以帮助您
  • 使用 dplyr 和 ggplot 绘制包括负值的多面水平发散堆积条形图

    我希望这个例子能够让人清楚 我想要堆叠条形 其中中间条形跨越 0 因为它代表中性值 这与李克特量表一起使用 为了重现性 我使用钻石数据集 以下示例与我的用例足够接近 并演示了我很难以正确的顺序获取 好 或 正 数据 因此中性最接近 0 这是
  • “from-import”是否执行整个模块?

    好的 所以我知道from import与 完全 相同import 但这显然不是因为命名空间的填充方式不同 我的问题主要是因为我有一个utils我的应用程序中的每个其他模块都使用一个或两个函数的模块 我正在努力合并标准库logging模块 据