python - 我是否以 Python 的方式构建我的项目/脚本 - 反馈
问题描述
大型项目的新手。我想要一些关于我如何构建我的代码的指示。为简单起见,我用“pass”语句替换了所有功能代码块并删除了导入等。
我的代码从 API 获取网络信息,我最终将过滤这些信息以将相关响应数据存储到 MySQL 数据库中。RoadmLine 对象有很多属性(id、长度、损失、类型)等,因此我想用类来解决这个问题。
结构/代码如下:)
文件夹结构
C:.
│ .gitignore
│ main.py
│
├───db
│ database.py
│
├───mcp
│ roadmline.py
│ session.py
│
└───tests
主文件
# Initialize instance of Session, Check MCP server readiness abort if server response not okay
session = Session()
assert session.ping() == 200
# Initialize instance of Database, Connect to MySQL database
db = Database()
db.connect()
# Initialize a single instance of RoadmLine, to get number of RoadmLine ids returned by MCP
roadm = RoadmLine()
num_roadms = roadm.get_num_roadms()
# Create x number of RoadmLine instances based on the value of class variable num_roadms
roadms = [RoadmLine() for x in range(num_roadms)]
print(f"Created {num_roadms} instances of RoadmLines.")
数据库.py
class Database:
"""A class to manage the connection with #######."""
# Class constants
HOST = ####
DB = ####
USER = ####
PASS = ####
def __init__(self):
self.connection = None
def connect(self):
"""Connect to MySQL database."""
pass
def disconnect(self):
"""Disconnect from MySQL database."""
pass
def query(self):
"""Query table entries in MySQL."""
pass
def update(self):
"""Update table entries in MySQL."""
pass
会话.py
class Session:
"""A class to manage MCP sessions."""
# Class Constants
HOST = "https://#####"
UNAME = "####"
PWORD = "####"
def __init__(self):
"""Initializes a session"""
pass
def ping(self):
"""Pings the MCP server for response."""
pass
def get_token(self):
"""Retrieves a bearer auth token from MCP"""
pass
路线图.py
class RoadmLine:
"""A class to represent a roadmline"""
# Class variables
num_roadms = 0
def __init__(self):
self.session = Session()
self.session.get_token()
def get_num_roadms(self):
"""API call to MCP to retrieve total number roadmlines"""
pass
def get_roadm_ids(self):
"""API call to MCP to get all roadmlines"""
pass
解决方案
推荐阅读
- android - 自定义 TextInputLayout 和 TextInputEditText
- python - Numpy 滚动 Columwise 相关性
- sql - SQL选择小于特定日期的最大日期
- python - sklearn.Normalization 是否有可用的 invert_transform 方法
- html - 用于更改图像的媒体查询
- hibernate - 不获取在休眠中插入的最近记录
- javascript - 在 TypeScript 中使用 subscribe 方法操作值
- c# - 为什么从 VS 2013 而不是 VS 2017 发布时,带有嵌入式 Adobe Reader Control 的应用程序可以工作?
- c++ - 未创建日志文件
- python - Django 中的实时搜索