[问题] import的观念请教

楼主: ggirls (哥)   2019-03-23 00:13:29
import的观念常常觉得懂了,但是又常常会碰到问题,
想请教关键字或该找的说明文件。
FolderA
test.py
FolderB
a.py
b.py
在 test.py 中 import FolderB.b,会报错找不到 a module,
因为 b.py 有 from a import ...
要在 b.py 中改为 from .a import ... 才会正确执行。
但这样在 b.py 中的 __main__ 中的测试程式就会报错找
不到 a。
我的问题是,觉得这样有点观念不清,东补西补。
因为都是写完整个 FolderB 中的档案,测试完成,
然后才开始写 test.py。结果一执行又报错,又要回去改
FolderB 中的东西。
可否导正一下我的观念。
作者: bibo9901 (function(){})()   2019-03-23 01:15:00
观念就是: 不要尝试既当模组(import)又要当script.
楼主: ggirls (哥)   2019-03-23 01:48:00
你的意思是不要在b.py中写__main__测试吗?另个问题是,我在写b.py时不会想到用 from“.a”import...如何事前判断后来的引用(test.py)会要在b.py写.a而非a
作者: bibo9901 (function(){})()   2019-03-23 02:04:00
你可以用 if __name__ == '__main__' 来判断,但很难懂所以说 不要尝试既当模组(import)又要当script
楼主: ggirls (哥)   2019-03-23 03:42:00
我写得太简要没讲清楚。我说的__main__得确是这样写的现在主要是test.py引用FolderB.b会报错;b.py中引用要写为import .a不能写为import a

Links booklink

Contact Us: admin [ a t ] ucptt.com