包(模块)的命名规范:
为什么需要遵循命名规范?如果包的命名不遵循命名规范 ,那么在导入包时即使方法是正确的,也无法有效的导入该包
1.命名有字母、数字和下划线三个组成
2.项目名、包名、模块名、python文件名 都应该用英文开头,不能纯数字,否则无法识别
3、命名规范可以为前驼峰法和下划线法(这个规则遵不遵循都可以,但遵循该规则是成为优秀程序员的必备素质)
如图,先不管导入方法是否正确,但是在导入的时候有‘-’,非法字母,运行的时候也的确报错了,并且指出了错误位置
包的导入方法
包的导入也需要路径,分为绝对路径和相对路径
如图,根目录为remote
现在,想在test.py文件里导入load_data模块(load_data.py,当模块导入的时候就不需要.py了)
以该例子示范两种导入方式
绝对导入:必须以执行文件的搜索路径为基准
这里的文件并不是从电脑的或者服务器的D:C盘什么的开始,而是从当前的文件目录下面开始(其实这个目录是可以右键这个文件获取的)
如,下方代码,这样的绝对路径就是正确的
import EduKTM_main111.EduKTM_main.examples.AKT.load_data
相对导入:
- .表示当前文件夹下的文件
- ..表示父亲文件夹下的文件
- ...表示爷爷文件夹下的文件
from .AKTNet import AKTNet
报错:
ImportError: attempted relative import with no known parent package
不是很明白
有明白的小伙伴解释一下