Python导入:导入没有.py扩展名的模块?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python导入:导入没有.py扩展名的模块?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1046字,纯文字阅读大概需要2分钟。
内容图文
![Python导入:导入没有.py扩展名的模块?](/upload/InfoBanner/zyjiaocheng/757/0e8d25008f2e4786926338d6b0039a1f.jpg)
在我开发的Python系统中,我们通常有这个模块结构.
mymodule/
mymodule/mymodule/feature.py
mymodule/test/feature.py
这允许我们的小测试框架轻松导入test / feature.py并运行单元测试.但是,我们现在需要一些shell脚本(用Python编写):
mymodule/
mymodule/scripts/yetanotherfeature.py
mymodule/test/yetanotherfeature.py
yetanotherfeature.py由模块Debian软件包安装到/usr/bin中.但我们显然不希望扩展.py扩展.所以,为了使测试框架仍然能够导入模块,我必须做这个符号链接的东西:
mymodule/
mymodule/scripts/yetanotherfeature
mymodule/scripts/yetanotherfeature.py @ -> mymodule/scripts/yetanotherfeature
mymodule/test/yetanotherfeature.py
是否可以在Python中通过文件名导入模块,或者您能想到更优雅的解决方案吗?
解决方法:
您最有可能使用import hooks使用一些tricker,但我不推荐它.另一方面,我也可能会以相反的方式执行此操作,将.py脚本放在某处,并为.py文件创建“.py”无符号链接.所以你的库可以在任何地方,你可以从内部运行测试,通过导入它normall(因为它有py扩展名),然后/usr/bin/yetanotherfeature指向它,所以你可以在没有py的情况下运行它.
编辑:没关系这个(至少是钩子部分),导入imp解决方案看起来对我很好:)
内容总结
以上是互联网集市为您收集整理的Python导入:导入没有.py扩展名的模块?全部内容,希望文章能够帮你解决Python导入:导入没有.py扩展名的模块?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。