项目
https://github.com/zmaplex/fetch_import
为什么要重新开一个帖子?
无意重开,只是那个帖子写的太糟糕了,没有突出重点。
介绍
目前以及将来都是围绕从远程加载 Python 文件为核心开发,如果有问题欢迎提 issue.
使用
下面示例的远程资源包地址为:"https://cdn.jsdelivr.net/gh/zmaplex/fetch_import@main/example/sets.py"
@im_fetch
使用这个装饰器你可以很方便的像 import 一样从远程资源导入 Python 包资源。
- 实现类似 import package 写法
import sets
sets.def_function()
等价于:
from fetch_import import im_fetch
url = "https://cdn.jsdelivr.net/gh/zmaplex/fetch_import@main/example/sets.py"
@im_fetch(url)
def main():
sets.def_function()
- 实现类似 from package import * 写法
from sets import *
obj = ObjectClass()
def_function()
等价于:
from fetch_import import im_fetch
@im_fetch(url,["*"])
def main():
obj = ObjectClass()
def_function()
- 实现类似 from package import attr1,attr2 写法
from sets import ObjectClass,def_function
obj = ObjectClass()
def_function()
等价于:
from fetch_import import im_fetch
@im_fetch(url,["ObjectClass","def_function"])
def main():
obj = ObjectClass()
def_function()