python模块文件的扩展名不一定是py_Python导入:导入没有.py扩展名的模块?
在我开发的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,debian
来源: https://codeday.me/bug/20190717/1485512.html
python模块文件的扩展名不一定是py_Python导入:导入没有.py扩展名的模块?相关推荐
- python文件的打开模式有几种_以下选项中,不是Python打开文件模式的是( )_学小易找答案...
[单选题]下面代码的输出结果是( ) x=12.34+0j print(type(x)) [单选题]在本实验中为什么不使用草酸钠,而使用草酸来制备草酸亚铁? [单选题]减压抽滤时,下述操作不正确的是 ...
- 详解AES对称加密(python实现文件加密)
一.对称加密 对称加密:需要对加密和解密使用相同密钥的加密算法. 优点:速度快,适合加密大量数据时使用. 缺点:不利于传送密钥.(后面文章在介绍非对称加密传输对称加密的密钥,此处应用是文件加密,密钥只 ...
- Python对文件进行批量重命名
不管是什么开发语言,用代码操作的最大优势就是可以灵活调整.可批量处理 对于要处理的文件,几千几万的量也是一个回车的事,当然前提是代码不能出BUG 有时候我们下载的一切工具要么收费,要么有各种各样的限制 ...
- python中模块文件的扩展名不一定是py_python模块和python包有什么区别?
python模块和python包有什么区别? 另请参见:"package"和"module"(其他语言)之间的区别是什么? 我可能错了,但对我来说:模块基本上是 ...
- python模块文件的扩展名不一定是py_Python文件扩展名.py?.pyc?.pyd?
与Python相关的文件扩展名实际不止.py..pyc..pyd这三种,但这三种是最常见的,比如以Houdini 16.5.268的Python模块包路径搜索一下有哪些扩展名 与Python相关的只有 ...
- python中模块文件的扩展名不一定是py_跟老齐学Python之Import 模块
认识模块 对于模块,在前面的一些举例中,已经涉及到了,比如曾经有过:import random (获取随机数模块).为了能够对模块有一个清晰的了解,首先要看看什么模块,这里选取官方文档中对它的定义: ...
- python中模块文件的扩展名一定是py_Python 模块(Module)
1.什么是模块(Module)? 考虑模块与代码库相同. 包含要包含在应用程序中的一组功能的文件. 2.定义模块(Module) 要创建模块,只需将所需的代码保存在文件扩展名为.py的文件中: 例如: ...
- python程序文件扩展名有_python程序文件的扩展名称是什么
python程序文件的扩展名称是什么 python程序的扩展名有.py..pyc..pyo和.pyd..py是源文件,.pyc是源文件编译后的文件,.pyo是源文件优化编译后的文件,.pyd是其他语言 ...
- python源程序文件的扩展名_python程序文件扩展名知识点详解
python程序文件的扩展名称是什么 python程序的扩展名有.py..pyc..pyo和.pyd..py是源文件,.pyc是源文件编译后的文件,.pyo是源文件优化编译后的文件,.pyd是其他语言 ...
最新文章
- JSP/Servlet 工作原理
- 初试牛客网PAT练习之数素数
- html select 可输入 可编辑
- LWUIT显示中文问题
- SAP Fiori Elements drop down list debug
- block size在equipment download中的用法
- 臭名昭著的sun.misc.Unsafe解释
- 等待队列设备[置顶] Linux设备驱动,等待队列
- c语言用三目运算符从小到大排列,错题集
- java 定时器 数据库_java实现定时器,定时修改数据库代码
- android文件读取文件内容,android创建txt文件,读取txt文件内容
- 区块链开发入门教程【加精】
- python 打开网页并截图_python实现自动网页截图并裁剪图片
- 神经网络和深度学习二者之间的关系
- Intent intent =new Intent(getActivity(),DeliverListActivity.class,Cannot resolve method'getActivity'
- 表扩展字段2种实施方案研究
- php用户登录界面代码有背景,大男孩教你怎么自定义WordPress用户登录界面背景图片? – 男孩资源网...
- 知网和万方下载论文收费模式,被这家网站打破,令人拍手叫好
- 两两独立为什么不能推出相互独立
- 将电脑新建文本文档txt的默认编码从ANSI改为utf-8