# pbmd
**Repository Path**: liumou_site/pbmd
## Basic Information
- **Project Name**: pbmd
- **Description**: 使用Python编写的基本模块,主要用于字符串、数据对比、数据校验、数据清洗、敏感字符去除
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2023-03-02
- **Last Updated**: 2025-11-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# PBM - Python Basic Module
## 📖 项目介绍
`PBM` (Python Basic Module) 是一个使用Python编写的基础工具模块,主要用于:
- 🔍 **字符串检查** - SQL注入检测、敏感字符识别
- 🔢 **整数校验** - 数值范围检查、逻辑验证
- 📋 **列表处理** - 空元素移除、列表转字符串
- ⚠️ **错误处理** - 统一的错误信息封装
该模块通过对常用功能进行封装,实现快速开发的效果,特别适合需要数据校验和清洗的Python项目。
## 🚀 功能特性
### 字符串检查 (`strCheck`)
- ✅ **SQL注入检测** - 识别潜在的SQL注入攻击字符
- 🔒 **安全防护** - 保护数据库免受恶意输入攻击
### 整数处理 (`intCheck`)
- 📊 **数值范围验证** - 检查数值是否在合理范围内
- 🎯 **逻辑校验** - 验证开始数、截止数、总数的逻辑关系
### 列表操作 (`listHandle`)
- 🧹 **空元素清理** - 自动移除列表中的空值和空格
- 📝 **格式转换** - 将列表元素转换为字符串格式
### 错误管理 (`Error`)
- 🚨 **统一错误处理** - 借鉴Go语言的nil机制
- 💡 **清晰错误信息** - 提供详细的错误描述
## 📦 安装方法
### 通过pip安装(推荐)
```bash
pip install pbm
```
### 从源码安装
```bash
git clone https://gitee.com/liumou_site/pbmd.git
cd pbmd
pip install .
```
## 💻 使用示例
### 1. SQL注入检测
```python
from pbm import CheckSqlInjection
# 检查用户输入是否安全
user_input = "SELECT * FROM users WHERE id = 1"
if CheckSqlInjection(user_input):
print("⚠️ 检测到潜在的SQL注入风险!")
else:
print("✅ 输入内容安全")
```
### 2. 整数范围验证
```python
from pbm import IntCheck
checker = IntCheck()
start, stop, total = 1, 10, 20
if checker.CheckValue(start, stop, total):
print("✅ 数值范围验证通过")
else:
print(f"❌ 验证失败: {checker.Err}")
```
### 3. 列表处理
```python
from pbm import ListRemoveNone, ListToStr
# 清理列表中的空元素
dirty_list = ["apple", "", "banana", None, "orange", " "]
clean_list = ListRemoveNone(dirty_list)
print(f"清理后的列表: {clean_list}")
# 列表转字符串
fruit_str = ListToStr(clean_list, sep="-")
print(f"转换结果: {fruit_str}") # 输出: apple-banana-orange
```
### 4. 错误处理
```python
from pbm import Error
# 创建错误对象
error = Error("数据库连接失败", nil=False)
if not error.Nil:
print(f"错误信息: {error.errors()}")
```
## 📚 API 文档
### CheckSqlInjection(text)
检测文本中是否包含SQL注入敏感字符。
**参数:**
- `text` (str): 需要检查的文本
**返回:**
- `bool`: True表示检测到敏感字符,False表示安全
### IntCheck.CheckValue(start, stop, total)
验证数值范围的逻辑正确性。
**参数:**
- `start` (int): 开始数值
- `stop` (int): 截止数值
- `total` (int): 总数值
**返回:**
- `bool`: 验证结果
- `checker.Err`: 错误信息(验证失败时)
### ListRemoveNone(lists)
移除列表中的空元素、None值和空格。
**参数:**
- `lists` (list): 需要处理的列表
**返回:**
- `list`: 清理后的列表
### ListToStr(lists, sep="")
将列表元素转换为字符串。
**参数:**
- `lists` (list): 需要转换的列表
- `sep` (str): 元素之间的分隔符(默认:空字符串)
**返回:**
- `str`: 转换后的字符串
### Error(msg, nil=True)
错误信息封装类。
**参数:**
- `msg` (str): 错误信息
- `nil` (bool): 是否存在错误(True表示无错误)
**方法:**
- `errors()`: 返回错误信息字符串
## 🛠️ 开发环境
- **Python版本**: 3.0+
- **操作系统**: Windows/Linux/macOS
- **许可证**: Apache License 2.0
## 🤝 贡献指南
欢迎提交Issue和Pull Request来改进这个项目!
1. Fork 本项目
2. 创建您的功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 打开一个 Pull Request
## 📞 联系方式
- **作者**: 坐公交也用券
- **邮箱**:
- **主页**:
- **项目地址**:
## 📄 许可证
本项目采用 Apache License 2.0 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
---
⭐ 如果这个项目对您有帮助,请给它一个星标!