首页 > 解决方案 > 我是否以 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


标签: pythonclassoopmodule

解决方案


推荐阅读