7-15 2:50左右, 关于入口文件的相对引入报错那部分
来源:7-15 相对导入和绝对导入 二
Arya丶
2017-10-06
关于入口文件的相对引入那部分, 老师的说法是:" 原因是相对引入的时候,会根据模块的__name__来定位,而__name__被替换成了__main__, 导致路径找不到", 我认为...这里好像有问题, 因为哪怕是用-m的方法,__name__依旧是__main__. 所以我觉得.实际应该是 '.' 替代了 __package__ 而不是替代了 '__name__' 也就是说,应该是根据__package__来定位的,而非__name__ 应该有表述清楚了,不知道说的对不对, 求老师解答...
写回答
1回答
-
我们来探讨下。如果是按照package来决定,不考虑__name__,那么可执行的main里用相对路径应该是没问题的。因为package不会被更改。这是第一个疑问。第二个,你可以发现-m 参数用的不是绝对路径来执行文件,而是用的命名空间 点号。可以详细看一下命名空间。
052017-10-10
相似问题