python中“import a.b as b”和“from a import b”有什么区别[重复]

2023-11-23

我一直用from a import b但最近一个工作团队决定将一个模块移动到一个新的命名空间中,并发出警告通知,告诉人们更换import b with import a.b as b.

我从来没有用过import as我能找到的唯一文档似乎表明它不支持import a.b as b,尽管显然确实如此。

但实际上有区别吗?如果有区别又怎样呢?


据我所知,如果我错了,请纠正我。

First, import a.b必须导入模块(文件)或包(目录包含__init__.py).

例如,您可以import tornado.web as web但你不能import flask.Flask as Flask as Flask是包中的一个对象flask.

Second, import a.b还导入命名空间a which from a import b惯于。你可以通过以下方式检查globals().

那么有什么影响呢?例如:

import tornado.web as web

现在您可以访问命名空间tornado,但您无法访问tornado.options虽然tornado有这个模块。但是作为python的全局包管理,如果你from tornado import options,您不仅可以访问options但也将其添加到命名空间tornado。所以现在您还可以访问options by tornado.options.

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

python中“import a.b as b”和“from a import b”有什么区别[重复] 的相关文章

随机推荐

  • 如何监控ActiveMQ Artemis

    我正在 Windows NET 环境中使用 RabbitMQ ActiveMQ Classic 和 ActiveMQ Artemis 进行一些测试 RabbitMQ 和 ActiveMQ 经典 附带一个 Web 界面 您可以在其中查看有关代
  • 除 na.rm= TRUE 外,mean 还返回 NaN

    样本数据 date coins 2013 10 01 NA 2013 10 01 NA 2013 10 01 NA 2013 11 01 10 2013 11 01 NA 2013 11 01 20 2013 11 01 30 2013 1
  • jQuery UI 使用 .droppable 放入 div 时删除元素

    我正在尝试找出如何做到这一点的逻辑 我有很多只有 CSS 类名的图像 它们是动态创建的 这些图像可以使用 jQuery UI 进行拖动 draggable 我需要一个 垃圾桶 当将元素拖入 时 它会被删除 Example http jsfi
  • 如何在 AngularJS 中设置动态模型名称?

    我想用一些动态问题填充表单 小提琴here div ul li div question Text div li ul div
  • CodeIgniter 中的联接查询[重复]

    这个问题在这里已经有答案了 我在 CodeIgniter 中使用联接查询 但无法使其工作 它只显示一个表数据 而不显示另一表数据 我是 CodeIgniter 的新手 无法弄清楚这一点 请有人帮助我 提前Tnanks view br br
  • 保证复制省略的行为是否取决于用户定义的复制构造函数的存在?

    无论有或没有用户定义的复制构造函数 以下代码的行为都不同在 GCC 8 0 1 下 include
  • django [Errno 2] 没有这样的文件或目录:

    我已经构建了一个脚本来读取 Excel 文件并将内容保存到我的数据库中 注意 文件和脚本位于不同的目录中 然而 当我尝试从views py中执行脚本作为简单导入时 django会抛出一个错误 指出它找不到文件或目录 Errno 2 No s
  • 积分推广

    在整数提升方面 什么时候有符号整数无法表示原始类型的所有值 来自文本 K R C 编程语言 第二版 p 174 A 6 1 积分推广 字符 短整数或整数位域 无论是否有符号 或枚举类型的对象都可以在 凡是可以使用整数的表达式 如果一个int
  • 进行网络通话的最佳地点

    网络通话 static func getProfile parameters String AnyObject onComplete String AnyObject gt var requiredData String AnyObject
  • Namenode HA(UnknownHostException:nameservice1)

    我们通过 Cloudera Manager 启用 Namenode 高可用性 使用 Cloudera Manager gt gt HDFS gt gt 操作 gt 启用高可用性 gt gt 选定的备用名称节点和日志节点 然后名称服务1 整个
  • Wor2vec 微调

    我需要微调我的 word2vec 模型 我有两个数据集 data1 and data2 到目前为止我所做的是 model gensim models Word2Vec data1 size size v window size w min
  • 使用 jQuery 迭代 JavaScript 对象的属性

    是否有一种 jQuery 方法可以对对象的成员执行迭代 例如 for var member in obj 我只是不喜欢这个for从我可爱的 jQuery 符号中脱颖而出 each name John lang JS function i n
  • 使用 lm(poly) 获取公式系数[重复]

    这个问题在这里已经有答案了 我正在尝试使用 lm poly 获得某些点的多项式回归 但对它返回的回归公式系数有一些疑问 像这样的样本 x seq 1 100 y x 2 3 x 7 fit lm y poly x 2 结果是 lm form
  • EPOLLRDHUP 不可靠

    我正在通过客户端 服务器 TCP 连接使用非阻塞读 写epoll wait 问题是 我无法使用以下方法可靠地检测 对等关闭连接 事件EPOLLRDHUP旗帜 经常会发生标志未设置的情况 客户端使用close 大多数时候 服务器从epoll
  • 如何在 CSS 选择器或 jQuery 中处理 XML 命名空间?

    我使用 jQuery 来解析 RSS 提要 我可以使用 AJAX 成功获取 RSS 提要 get podcast xml function data xml data xml 现在我可以通过使用获取播客的标题xml find channel
  • data.table fread如何忽略空行[重复]

    这个问题在这里已经有答案了 看起来如果文件中的第二行为空 则不会读取列名 我已经使用过文档中的 header skip 等开关 但无法使其工作 如果我的文件中的第二行为空 如何忽略这个事实并仍然将第一行读取为列名 第二行是空的 gt fre
  • 为什么使用 sys.path.append(path) 而不是 sys.path.insert(1, path)?

    Edit 根据 Ulf Rompe 的评论 使用 1 而不是 0 很重要 否则你会打破sys path 我已经做Python有一段时间了 一年多了 我总是很困惑为什么人们推荐你使用sys path append 代替sys path ins
  • 将应用程序更新至 iOS6

    在苹果开发者论坛上未能找到对此问题的准确答复 与其他 Apple 开发人员一样 我将升级我们的应用程序以支持 iOS6 设备 我已经下载了支持iOS6 SDK的XCode 4 5 我知道我无法使用此 XCode 版本将应用程序的版本提交到应
  • 使用 Java API 从 Elasticsearch 获取所有记录

    我正在尝试使用 Java API 从 Elasticsearch 获取所有记录 但我收到以下错误 n Wild Thing localhost 9300 索引 data read search phase dfs 嵌套 QueryPhase
  • python中“import a.b as b”和“from a import b”有什么区别[重复]

    这个问题在这里已经有答案了 我一直用from a import b但最近一个工作团队决定将一个模块移动到一个新的命名空间中 并发出警告通知 告诉人们更换import b with import a b as b 我从来没有用过import