# m-mock **Repository Path**: FrancizTest_admin/m-mock ## Basic Information - **Project Name**: m-mock - **Description**: m-mock是一个功能强大的Python模拟数据生成库,支持生成各种类型的随机数据,包括日期时间、数字、字符串、姓名、文本等。 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-28 - **Last Updated**: 2025-11-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # m-mock - 智能模拟数据生成库 m-mock是一个功能强大的Python模拟数据生成库,支持生成各种类型的随机数据,包括日期时间、数字、字符串、姓名、文本等。 ## 功能特点 - 📅 **日期时间**:生成随机日期、时间、时间戳 - 🔢 **数字类型**:整数、浮点数、自然数 - 🔤 **文本类型**:中英文句子、段落、混合文本 - 👤 **姓名生成**:中英文姓名、姓氏、名字 - 🆔 **标识符**:UUID、自增ID、中国身份证号 - 🎲 **随机选择**:从列表中随机选取元素 - 🛠️ **易于扩展**:支持自定义数据生成规则 ## 安装 ```bash pip install m-mock ``` ## 快速开始 ### 基本使用 ```python from m-mock import m_mock # 生成随机日期 print(m_mock.mock("@date()")) # 输出: "2023-07-15" # 生成随机中文姓名 print(m_mock.mock("@cname()")) # 输出: "张三" # 生成随机浮点数 print(m_mock.mock("@float(1,100)")) # 输出: 56.78 ``` ### 高级用法 ```python # 带参数的日期生成 print(m_mock.mock("@date('%Y年%m月%d日','+3d')")) # 输出: "2023年07月18日" # 生成随机段落 print(m_mock.mock("@cparagraph(5,8)")) # 输出: "这是一个随机生成的中文段落..." # 从列表中选择 print(m_mock.mock("@pick(['苹果','香蕉','橙子'])")) # 输出: "香蕉" ``` ## 完整API参考 ### 日期时间 | 表达式 | 描述 | 示例 | | ------------------------- | ------------ | ------------------------- | | `@date()` | 当前日期 | "2023-07-15" | | `@date(format, interval)` | 格式化日期 | `@date('%Y/%m/%d','+1d')` | | `@datetime()` | 当前日期时间 | "2023-07-15 14:30:00" | | `@time()` | 当前时间 | "14:30:00" | | `@timestamp()` | 时间戳(毫秒) | 1689409800000 | | `@now(unit)` | 指定单位时间 | `@now('month')` | ### 数字类型 | 表达式 | 描述 | 示例 | | ----------------------------- | ---------- | ------------------------ | | `@integer(min,max)` | 随机整数 | `@integer(1,100)` → 42 | | `@float(min,max,d_min,d_max)` | 随机浮点数 | `@float(0,1,2,4)` → 0.75 | | `@natural(min,max)` | 自然数 | `@natural(10,20)` → 15 | | `@boolean()` | 布尔值 | True/False | ### 文本相关 | 表达式 | 描述 | 示例 | | ------------------------ | ---------- | ----------------------------------------- | | `@string(type,min,max)` | 随机字符串 | `@string('lower',5,10)` → "abcdef" | | `@character(type)` | 随机字符 | `@character('upper')` → "A" | | `@sentence(min,max)` | 英文句子 | `@sentence(5,10)` → "This is a sentence." | | `@csentence(min,max)` | 中文句子 | `@csentence(5,10)` → "这是一个句子。" | | `@paragraph(min,max)` | 英文段落 | `@paragraph(3,5)` → "A paragraph..." | | `@cparagraph(min,max)` | 中文段落 | `@cparagraph(3,5)` → "这是一个段落..." | | `@mix_sentence(min,max)` | 混合文本 | `@mix_sentence(5,10)` → "Hello 世界 123" | ### 姓名相关 | 表达式 | 描述 | 示例 | | ----------------- | -------- | --------------------- | | `@name()` | 英文姓名 | "John Smith" | | `@cname()` | 中文姓名 | "张三" | | `@first()` | 英文姓氏 | "Smith" | | `@last()` | 英文名字 | "John" | | `@clast()` | 中文姓氏 | "张" | | `@cfirst(length)` | 中文名字 | `@cfirst(2)` → "三丰" | ### 其他功能 | 表达式 | 描述 | 示例 | | ------------------ | ------------ | ---------------------------------- | | `@pick(list)` | 从列表选择 | `@pick(['A','B','C'])` → "B" | | `@increment(step)` | 自增数字 | `@increment(2)` → "2", "4", "6"... | | `@uuid()` | UUID生成 | "a1b2c3d4..." | | `@id()` | 中国身份证号 | "110105199003072316" | ## 贡献指南 欢迎贡献代码!请遵循以下步骤: 1. Fork仓库 2. 创建特性分支 (`git checkout -b feature/your-feature`) 3. 提交更改 (`git commit -am 'Add some feature'`) 4. 推送到分支 (`git push origin feature/your-feature`) 5. 创建Pull Request ## 许可证 本项目采用 MIT License 许可证。