python中模块的`__name__`值由其在`sys.path`中的**解析路径**和**包层级结构**共同决定,而非源文件物理位置;不同导入方式(绝对/相对、路径修改前后)会导致同一.py文件被加载为多个独立模块,拥有不同的`__name__`。
在Python中,__name__不是静态绑定到源文件的“身份证”,而是模块对象在sys.modules字典中的键名——这个键名由Python导入系统根据当前sys.path、执行上下文(如是否作为包成员被导入)以及导入语句的语法共同推导得出。
假设运行 python main.py(main.py位于test同级),默认sys.path[0]为main.py所在目录,其中仅test/可被识别为包:
# main.py import test # 触发 method1 行为
此时:
name__ 是 'test.a.base'而当你在 test/__init__.py 中执行:
import sys import os sys.path.append(os.path.dirname(__file__) + "/./") # 等价于添加当前目录(即 test/ 父目录)
你实际上将 test 的父目录加入了sys.path,使得原test/a/目录现在可被直接识别为顶层包a/(因该目录含__init__.py)。此时:
⚠️ 注意:这会导致同一.py文件被加载两次——一次为'a.base',一次为'test.a.base',二者互不影响。例如对base.py中某个全局变量的修改,不会反映在另一个模块实例中。
# 在 base.py 中添加
import sys
print(f"Base.py loaded as {__name__}")
print(f"Available in sys.modules: {list(k for k in sys.modules.keys() if 'base' in k)}")总之,__name__是Python导入机制的产物,其值严格取决于模块被发现和加载的路径上下文。掌握这一原理,是写出健壮、可预测的Python包结构的关键基础。
相关文章:
建站之星导航如何优化提升用户体验?
建站之家VIP精选网站模板与SEO优化教程整合指南
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
内网网站制作软件,内网的网站如何发布到外网?
如何快速查询网址的建站时间与历史轨迹?
如何快速打造个性化非模板自助建站?
黑客如何通过漏洞一步步攻陷网站服务器?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
如何用AWS免费套餐快速搭建高效网站?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
如何选择CMS系统实现快速建站与SEO优化?
linux top下的 minerd 木马清除方法
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
招贴海报怎么做,什么是海报招贴?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
如何在IIS中配置站点IP、端口及主机头?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
如何高效利用亚马逊云主机搭建企业网站?
Java解压缩zip - 解压缩多个文件或文件夹实例
专业商城网站制作公司有哪些,pi商城官网是哪个?
,石家庄四十八中学官网?
宝塔新建站点为何无法访问?如何排查?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
微课制作网站有哪些,微课网怎么进?
网站制作模板下载什么软件,ppt模板免费下载网站?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
网站app免费制作软件,能免费看各大网站视频的手机app?
网站图片在线制作软件,怎么在图片上做链接?
如何在云虚拟主机上快速搭建个人网站?
建站之星如何实现网站加密操作?
如何高效配置IIS服务器搭建网站?
如何在宝塔面板创建新站点?
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
想学网站制作怎么学,建立一个网站要花费多少?
jQuery 常见小例汇总
开源网站制作软件,开源网站什么意思?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
如何通过网站建站时间优化SEO与用户体验?
北京企业网站设计制作公司,北京铁路集团官方网站?
制作电商网页,电商供应链怎么做?
南宁网站建设制作定制,南宁网站建设可以定制吗?
如何获取上海专业网站定制建站电话?
定制建站方案优化指南:企业官网开发与建站费用解析
建站OpenVZ教程与优化策略:配置指南与性能提升
javascript中对象的定义、使用以及对象和原型链操作小结
如何高效完成自助建站业务培训?
建站之星代理平台如何选择最佳方案?
婚礼视频制作网站,学习*后期制作的网站有哪些?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
*请认真填写需求信息,我们会在24小时内与您取得联系。