我需要将代码组织到一个包中,但是由于不同功能之间的相互依赖关系,所以我无法正确处理导入语句。下面是我的代码的显示方式,并在Jupyter Notebook中运行它。但是它已经很长了,我需要更好地组织它。
import sys
import numpy as np
def Class myClass():
...
def f1():
...
call myClass()
import tkinter as tk
from tkinter import filedialog
def f2():
....
def f3():
...
call f2
some scripts
import pptx
def f4():
....
def f5():
call f2 & f4
....
some more scripts....
and so on (more functions)
我想做的是创建一个程序包,其中的每个.py模块都基于某种逻辑包含不同的类和函数定义。例如,所有处理文件操作的功能都将进入files.py,所有绘图功能都将进入plots.py,依此类推:
mypackage/
__init__.py
files.py
data.py
analysis.py
plots.py
我已经创建了上面的目录结构,并在每个模块中放置了不同的功能集。这就是我卡住的地方。
我一直在阅读有关模块相对导入的信息,我认为这与我正在做的事情有关,但是我仍然感到困惑。如果有人可以帮助我更好地理解这一点,那将不胜感激。我经历了How to write a Python module/package?和https://docs.python.org/3/tutorial/modules.html,但在阅读它们后仍无法解决我的问题。