可以将Python类分布在不同的.py文件中并在main.py中调用吗?
这就是模块化编程的意思吗?最近我开始学习Python的中级编程,听说应该把所有的函数分散到不同的文件里,但都放在同一个类下面。我试过这样做,但在导入的时候遇到了各种操作系统的问题。基本上,我是在用sqlite3做一个C.R.U.D.操作。
根据上面的建议,我需要创建5个不同的.py文件。每个文件对应一个操作,然后再有一个文件用来显示数据库。这就意味着我还需要在main.py文件里导入这5个不同的文件,同时把所有的函数放在一个CRUD类里。
所以我就想问,这样的导入和维护类是不是太麻烦了?如果有更好的方法,请告诉我。
我的程序的文件夹结构如下:
->services (folder)
->__pycache__ (folder)
->input_files (folder)
->output_files (folder)
->__init__.py
->add_crud.py
->read_crud.py
->update_crud.py
->delete_crud.py
->file_choose.py
-> __init__.py
-> crud.db
-> main.py
谢谢。
我试着把每个文件都导入到main.py里,但总是遇到找不到文件的问题。我的main.py里的导入代码大概是这样的:
from services import file_choose as fc
from services import insert_crud as ic
from services import view_crud as vc
1 个回答
-1
from services import file_choose as fc
from services import insert_crud as ic
from services import view_crud as vc
根据你上面的代码片段,你尝试从服务模块中导入 insert_crud 和 view_crud,但在你的文件夹结构中并没有名为 insert_crud.py 或 view_crud.py 的文件。
->services (folder)
->__pycache__ (folder)
->input_files (folder)
->output_files (folder)
->__init__.py
->add_crud.py
->read_crud.py
->update_crud.py
->delete_crud.py
->file_choose.py
这可能只是个错误,但如果你想导入一个不在服务文件夹中的其他包,可以试着在 __init__.py
文件中导入它。