Python如何导入非.py扩展名的第三方模块文件。
来源:互联网 发布:javascript数组的方法 编辑:程序博客网 时间:2024/06/05 03:12
例如:我一个模块文件,扩展名是txt,放在硬盘上任意一个目录。要导入怎么办?
我测试的结果是导入不用.py或.so扩展名字的模块文件会非常麻烦。
唯一可行的方法是这下面这样。
>>> print(open('d:/Temp/my_module.txt').read())def foo(): print('foo') >>> import importlib.util>>> import importlib.machinery>>> loader = importlib.machinery.SourceFileLoader('my_module', 'd:/Temp/my_module.txt')>>> spec = importlib.util.spec_from_loader(loader.name, loader)>>> mod = importlib.util.module_from_spec(spec)>>> loader.exec_module(mod)>>> mod.foo()foo>>
# 在Python 3.5/3.6 下测试通过。
python import 语句实际上背后就是importlib实现的。
另外还有一个imp 库可以实现导入任意文件的功能
>>> import imp>>> my_mod = imp.load_source('foobar', 'd:/Temp/my_module.txt')>>> my_mod.foo()foo但是按照Python官方文档的说明imp模块在Python3.4以后已经不推荐使用了,建议使用importlib
Deprecated since version 3.4: The imp package is pending deprecation in favor of importlib.
阅读全文
0 0
- Python如何导入非.py扩展名的第三方模块文件。
- python导入第三方模块
- python 如何安装第三方模块module
- Pycharm导入第三方模块的方法
- Ubuntu下python应如何将.py文件当模块进行导入
- Python第三方模块
- python 第三方模块
- 非root用户安装python第三方模块
- 非root用户安装Python第三方模块
- 非root用户安装python第三方模块
- Python导入第三方模块后eclipse提示unresolved import
- 非root用户安装python第三方模块出现Permission denied的解决办法
- Python第三方包的导入
- Python安装第三方模块的方法
- Python中第三方模块的安装
- 初见Python的第三方模块BeautifulSoup
- python 的yagamil第三方模块使用方法
- python第三方模块的安装
- 编译easydss遇到stray '\239' inprogram,stray '\187' inprogram,stray '\191' inprogram的解决办法
- QML 之 Shared JavaScript Resources
- zynq Boot 寻址空间
- 限制ALV报表的导出权限
- java生成MD5加密字符串
- Python如何导入非.py扩展名的第三方模块文件。
- 龚祖春雄心壮志,致力让企业走向世界
- 【更新】PDF控件Spire.PDF V3.9.463发布 | 修复多个PDF转换bug
- Python编程:从入门到实践的动手试一试答案(第七章)
- 第十一周-项目4-3-应用图的深度优先遍历思路求解问题
- 第11周【项目2
- 技术分享连载(七十)
- iOS 开源项目
- js怎么获取session的值