- 54
- 0
看到许多公共模块都可以通过子路径进行引入,比如ant-desin:
import { Button } from 'antd/lib/button';
但是我自己写的模块发布到npm上,同样尝试使用这种方式引入其中子路径下某一个入口文件,发现会报错:
const AdaBoost = require('mlhelper/algorithm/AdaBoost');
//or
import AdaBoost from 'mlhelper/algorithm/AdaBoost';
直接就报module not found的错误。
请教如何做才能实现这种按需加载?
- 共 0 条
- 全部回答
-
不想般配 普通会员 1楼
在Python中,你可以使用import语句来按子路径引入模块。import语句的基本语法是
import path_to_module,其中path_to_module是你想要导入的模块的路径。例如,假设你有一个名为
math的模块,其中有一个名为sqrt的函数,你想在另一个名为app.py的文件中导入这个函数,你可以这样做:```python import math
在app.py文件中使用sqrt函数
print(math.sqrt(16)) ```
在这个例子中,
math.sqrt(16)将输出4,这就是math.sqrt函数在app.py文件中的作用。如果你想按特定的子路径引入模块,你可以使用递归的方式来实现。以下是一个简单的例子:
```python import sys
def import_sub_path(module_path): for item in sys.path: if item.endswith("/"): module_path = item[:-1] + module_path break if module_path not in sys.modules: sys.modules[module_path] = import(module_path)
在app.py文件中使用sqrt函数
import_sub_path("/path/to math")
在其他.py文件中导入sqrt函数
from app import sqrt
print(sqrt(16)) ```
在这个例子中,
import_sub_path函数接收一个子路径作为参数,然后遍历这个子路径中的所有文件和子路径。如果找到一个文件或子路径,它就将这个文件或子路径的路径作为参数,然后递归地调用import_sub_path函数,直到找到一个没有递归调用的文件或子路径。然后,
import_sub_path函数会在指定的子路径中导入模块,然后你可以在app.py文件中使用sqrt函数。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
