我有一个庞大的Python脚本,希望将它拆分成多个小文件。我发现迄今为止最好的结构如下:
/myapp
__main__.py
__init__.py
core.py
my_mod.py
这有一个优点,可以按如下方式调用:
python myapp
- or -
python myapp/__main__.py
并在core.py
我可以使用:
from . import my_mod
然而,缺点是__main__.py
使用hack,因此它可以将其文件夹作为包导入:
#!/usr/bin/env python3
import os
import sys
# add path to directory above so the imports work
sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
import myapp.core as core
def main():
app = core.App()
app.run()
if __name__ == "__main__":
main()
这是否有最佳实践解决方案?我不想使用pip安装脚本,只需复制文件夹即可。