赞
踩
学习总结,有错误欢迎指出。
总结:同一包下的模块建议使用 相对路径,非同一包下建议使用 绝对路径。
建议在 同一包下 的模块之间导入时使用 相对路径 。如下目录:
- demo
- - module1.py
- - module2.py
下面示例中,module1和module2的导入,使用的相对路径。
备注:无论使用哪种执行方式(直接运行、模块运行、单独运行、带路径运行)都不会带来模块无法找到的错误。
建议在 非同一包下 的模块之间导入时使用 绝对路径 。
绝对路径:导入(import)模块的 起始包的路径 在 搜索路径列表(sys.path) 中。通常可以将项目的根目录 作为 起始路径 ,也就是将项目的根目录(demo)的路径添加到 搜索路径(sys.path) 中。
- demo
- - pkg01
- - module1
- - pkg02
- - module2
- - run.py
下图示例中,使用了绝对路径(前提是项目的根目录demo的路径在 搜索路径(sys.path) 中)。
如何将一个路径添加到 搜索路径(sys.path) 中 (以demo为例):
- 添加执行命令所在目录到搜索路径:脚本方式执行,可将执行命令所在目录添加到搜索路径。示例:进入demo目录,执行python -m xxx(即将demo作为执行命令的目录,并添加到搜索路径中)。
- 添加模块(包)所在目录到搜索路径:模块方式执行,可将被执行的模块(包)所在目录添加到搜索路径。示例:执行python /tmp/demo/run.py(即将run.py所在目录添加到搜索路径,也就是demo路径会被添加到搜素路径)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。