1
xiaolinjia 2020-06-18 14:30:52 +08:00 1
b.py 里要写
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 相当于将 folder 加入到 Python 路径下。 |
2
Vegetable 2020-06-18 14:42:58 +08:00 2
这个做法不是一个很好的习惯,但是写代码难免会遇到。
1 楼的代码时正确的,不过我更喜欢用这种写法 from pathlib import Path import sys sys.path.append(Path(__file__).parent.parent.absolute().__str__()) from common import * 这样的代码非常的 dirty,排序引用时会破坏代码结构,看起来也很乱。 记住一个核心,把项目的根目录的绝对路径加入到 path 中就行了。 |
3
imn1 OP |
4
JCZ2MkKb5S8ZX9pq 2020-06-18 23:10:18 +08:00 via iPhone 1
这个我一开始也绕过。
现在是项目相关的走根目录,比如 from config import * 自有通用工具都放一个目录,比如 util,加到 path 。 然后 from util.atool import atool |
5
JCZ2MkKb5S8ZX9pq 2020-06-18 23:27:13 +08:00 via iPhone
另外模块化调用
folder> py ./B/b.py 变成 folder> python -m b.b 缺点是有时忘了会调用错误,但直接集成到 sublime 的 build 了,就问题不大。而且自那以后,项目结构有改好一点,一开始都平级目录一堆 py…… |