python 导入示例:from router.light import light,目录为什么用点,而不是像node那样使用斜杠

📅 发布时间:2026/7/5 20:18:51 👁️ 浏览次数:
python 导入示例:from router.light import light,目录为什么用点,而不是像node那样使用斜杠
python 导入示例from router.light import light目录为什么用点而不是像node那样使用斜杠例如const { light } require(‘./router/light’)这个问题涉及到Python 和 Node.jsJavaScript各自的模块导入机制和语法规定。1. Python 的包和模块导入在 Python 中fromrouter.lightimportlight这里的router.light并不是一个目录路径而是模块路径。点.在 Python 的导入语句中表示包package与模块module之间的层级关系。假设你的目录结构如下project/ router/ __init__.py light.pyrouter是包因为里面有__init__.py文件。light.py是模块。from router.light import light的意思是从router包下的light.py模块中导入light这个函数或类或者变量。点.表示包与模块的层级。不是文件目录的分隔符。2. Node.js 的 require在 Node.jsES5 及 CommonJS 模块中const{light}require(./router/light)这里的./router/light是文件路径和文件系统目录结构一致用斜杠/分割。这引入的是router目录下的light.js文件。不支持用点.表示模块关系。3. 为什么 Python 用点Node 用斜杠Python 的模块系统是基于“包”与“模块”的概念点用于描述包目录和模块文件的从属关系。Node.js 的模块系统主要以文件和目录为单位路径采用操作系统的文件路径规则所以用斜杠。4. 一个简单的对比表语言导入语法路径分隔符示例Pythonfrom package.module import obj.from router.light import xNode.jsrequire(‘./path/to/module’)/require(‘./router/light’)5. 结论Python 中的“点”表示包结构的层级不是文件路径的分隔。Node.js 中的斜杠是文件系统路径的分隔符。如有其它相关疑问欢迎继续追问