ginkgo-tools


Nameginkgo-tools JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
Summary一套实用的 Python 工具库,包含日志、时间处理和多线程相关的工具函数
upload_time2025-11-01 15:33:14
maintainerNone
docs_urlNone
authorNone
requires_python>=3.6
licenseNone
keywords tools utilities logging time threading
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Ginkgo Tools

一套实用的 Python 工具库,包含日志、时间处理和多线程相关的工具函数。

## 功能模块

### 日志工具 (tools_log)
- [console_log_debug](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_log.py#L12-L51): 标准的打印函数,输出时间、内容、调用的文件和函数,便于调试和问题追踪

### 时间工具 (tools_time)
- [trans_timestr_to_datetime](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L18-L70): 将多种格式的时间字符串转换为 datetime 对象
- [trans_timestr_to_stddatestr](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L72-L93): 将时间字符串转换为标准日期格式字符串
- [trans_datetime_to_describe](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L95-L128): 将 datetime 对象转换为描述性信息字典
- [get_week_dates](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L130-L148): 获取指定日期所在周的日期列表
- [get_week_range](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L150-L182): 获取指定日期所在周的开始和结束时间范围
- [get_month_range](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L184-L217): 获取指定日期所在月的开始和结束时间范围
- [get_quarter_range](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L219-L252): 获取指定日期所在季度的开始和结束时间范围
- [get_year_range](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L254-L291): 获取指定日期所在年的开始和结束时间范围
- [get_offset_date](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L325-L338): 获取相对于今天的偏移日期
- [create_timestamp_mark](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L340-L358): 创建时间戳标记(用于文件名等场景)
- [create_time_mark](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L360-L371): 创建时间标记(精确到毫秒,用于临时文件名等场景)
- [analyse_filename_time](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L373-L401): 从文件名中提取时间信息
- [analyse_fileattr_time](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_time.py#L403-L419): 从文件属性中获取修改时间

### 多线程工具 (tools_threading_target)
- [Base_Operation_Threading_Target](file://D:\Python_Project\#工具脚本\GINKGO-TOOLS\ginkgo_tools\tools_threading_target.py#L15-L32): 异步任务对象基类,用于创建多线程任务

## 安装

```bash
pip install ginkgo-tools
```

## 使用示例

### 日志工具使用示例
```python
from ginkgo_tools import console_log_debug

# 打印调试信息
console_log_debug("这是一条调试信息", "变量值:", variable)

# 异常处理中的日志打印
try:
    # 一些可能出错的代码
    pass
except Exception:
    console_log_debug("发生异常", onException=True)
```

### 时间工具使用示例
```python
from ginkgo_tools import (
    trans_timestr_to_datetime, 
    get_week_range, 
    create_time_mark
)

# 时间字符串转换
dt = trans_timestr_to_datetime("2024-03-08T16:34")

# 获取本周时间范围
week_start, week_end = get_week_range()

# 创建时间标记
time_mark = create_time_mark()
```

### 多线程工具使用示例
```python
from ginkgo_tools import Base_Operation_Threading_Target

class MyThreadTask(Base_Operation_Threading_Target):
    def run(self):
        # 实现具体的任务逻辑
        pass

# 创建并启动线程任务
task = MyThreadTask(target_object, operation_dict)
task.start()
```

## 支持的 Python 版本

- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
- Python 3.10
- Python 3.11

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ginkgo-tools",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "tools, utilities, logging, time, threading",
    "author": null,
    "author_email": "GINKGO <495466557@qq.com>",
    "download_url": "https://files.pythonhosted.org/packages/d4/ef/238452d89ef10091e8e03abb5f2184947327940eaddfc17b2bbc1e0a3e9c/ginkgo_tools-0.1.4.tar.gz",
    "platform": null,
    "description": "# Ginkgo Tools\r\n\r\n\u4e00\u5957\u5b9e\u7528\u7684 Python \u5de5\u5177\u5e93\uff0c\u5305\u542b\u65e5\u5fd7\u3001\u65f6\u95f4\u5904\u7406\u548c\u591a\u7ebf\u7a0b\u76f8\u5173\u7684\u5de5\u5177\u51fd\u6570\u3002\r\n\r\n## \u529f\u80fd\u6a21\u5757\r\n\r\n### \u65e5\u5fd7\u5de5\u5177 (tools_log)\r\n- [console_log_debug](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_log.py#L12-L51): \u6807\u51c6\u7684\u6253\u5370\u51fd\u6570\uff0c\u8f93\u51fa\u65f6\u95f4\u3001\u5185\u5bb9\u3001\u8c03\u7528\u7684\u6587\u4ef6\u548c\u51fd\u6570\uff0c\u4fbf\u4e8e\u8c03\u8bd5\u548c\u95ee\u9898\u8ffd\u8e2a\r\n\r\n### \u65f6\u95f4\u5de5\u5177 (tools_time)\r\n- [trans_timestr_to_datetime](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L18-L70): \u5c06\u591a\u79cd\u683c\u5f0f\u7684\u65f6\u95f4\u5b57\u7b26\u4e32\u8f6c\u6362\u4e3a datetime \u5bf9\u8c61\r\n- [trans_timestr_to_stddatestr](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L72-L93): \u5c06\u65f6\u95f4\u5b57\u7b26\u4e32\u8f6c\u6362\u4e3a\u6807\u51c6\u65e5\u671f\u683c\u5f0f\u5b57\u7b26\u4e32\r\n- [trans_datetime_to_describe](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L95-L128): \u5c06 datetime \u5bf9\u8c61\u8f6c\u6362\u4e3a\u63cf\u8ff0\u6027\u4fe1\u606f\u5b57\u5178\r\n- [get_week_dates](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L130-L148): \u83b7\u53d6\u6307\u5b9a\u65e5\u671f\u6240\u5728\u5468\u7684\u65e5\u671f\u5217\u8868\r\n- [get_week_range](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L150-L182): \u83b7\u53d6\u6307\u5b9a\u65e5\u671f\u6240\u5728\u5468\u7684\u5f00\u59cb\u548c\u7ed3\u675f\u65f6\u95f4\u8303\u56f4\r\n- [get_month_range](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L184-L217): \u83b7\u53d6\u6307\u5b9a\u65e5\u671f\u6240\u5728\u6708\u7684\u5f00\u59cb\u548c\u7ed3\u675f\u65f6\u95f4\u8303\u56f4\r\n- [get_quarter_range](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L219-L252): \u83b7\u53d6\u6307\u5b9a\u65e5\u671f\u6240\u5728\u5b63\u5ea6\u7684\u5f00\u59cb\u548c\u7ed3\u675f\u65f6\u95f4\u8303\u56f4\r\n- [get_year_range](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L254-L291): \u83b7\u53d6\u6307\u5b9a\u65e5\u671f\u6240\u5728\u5e74\u7684\u5f00\u59cb\u548c\u7ed3\u675f\u65f6\u95f4\u8303\u56f4\r\n- [get_offset_date](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L325-L338): \u83b7\u53d6\u76f8\u5bf9\u4e8e\u4eca\u5929\u7684\u504f\u79fb\u65e5\u671f\r\n- [create_timestamp_mark](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L340-L358): \u521b\u5efa\u65f6\u95f4\u6233\u6807\u8bb0\uff08\u7528\u4e8e\u6587\u4ef6\u540d\u7b49\u573a\u666f\uff09\r\n- [create_time_mark](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L360-L371): \u521b\u5efa\u65f6\u95f4\u6807\u8bb0\uff08\u7cbe\u786e\u5230\u6beb\u79d2\uff0c\u7528\u4e8e\u4e34\u65f6\u6587\u4ef6\u540d\u7b49\u573a\u666f\uff09\r\n- [analyse_filename_time](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L373-L401): \u4ece\u6587\u4ef6\u540d\u4e2d\u63d0\u53d6\u65f6\u95f4\u4fe1\u606f\r\n- [analyse_fileattr_time](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_time.py#L403-L419): \u4ece\u6587\u4ef6\u5c5e\u6027\u4e2d\u83b7\u53d6\u4fee\u6539\u65f6\u95f4\r\n\r\n### \u591a\u7ebf\u7a0b\u5de5\u5177 (tools_threading_target)\r\n- [Base_Operation_Threading_Target](file://D:\\Python_Project\\#\u5de5\u5177\u811a\u672c\\GINKGO-TOOLS\\ginkgo_tools\\tools_threading_target.py#L15-L32): \u5f02\u6b65\u4efb\u52a1\u5bf9\u8c61\u57fa\u7c7b\uff0c\u7528\u4e8e\u521b\u5efa\u591a\u7ebf\u7a0b\u4efb\u52a1\r\n\r\n## \u5b89\u88c5\r\n\r\n```bash\r\npip install ginkgo-tools\r\n```\r\n\r\n## \u4f7f\u7528\u793a\u4f8b\r\n\r\n### \u65e5\u5fd7\u5de5\u5177\u4f7f\u7528\u793a\u4f8b\r\n```python\r\nfrom ginkgo_tools import console_log_debug\r\n\r\n# \u6253\u5370\u8c03\u8bd5\u4fe1\u606f\r\nconsole_log_debug(\"\u8fd9\u662f\u4e00\u6761\u8c03\u8bd5\u4fe1\u606f\", \"\u53d8\u91cf\u503c:\", variable)\r\n\r\n# \u5f02\u5e38\u5904\u7406\u4e2d\u7684\u65e5\u5fd7\u6253\u5370\r\ntry:\r\n    # \u4e00\u4e9b\u53ef\u80fd\u51fa\u9519\u7684\u4ee3\u7801\r\n    pass\r\nexcept Exception:\r\n    console_log_debug(\"\u53d1\u751f\u5f02\u5e38\", onException=True)\r\n```\r\n\r\n### \u65f6\u95f4\u5de5\u5177\u4f7f\u7528\u793a\u4f8b\r\n```python\r\nfrom ginkgo_tools import (\r\n    trans_timestr_to_datetime, \r\n    get_week_range, \r\n    create_time_mark\r\n)\r\n\r\n# \u65f6\u95f4\u5b57\u7b26\u4e32\u8f6c\u6362\r\ndt = trans_timestr_to_datetime(\"2024-03-08T16:34\")\r\n\r\n# \u83b7\u53d6\u672c\u5468\u65f6\u95f4\u8303\u56f4\r\nweek_start, week_end = get_week_range()\r\n\r\n# \u521b\u5efa\u65f6\u95f4\u6807\u8bb0\r\ntime_mark = create_time_mark()\r\n```\r\n\r\n### \u591a\u7ebf\u7a0b\u5de5\u5177\u4f7f\u7528\u793a\u4f8b\r\n```python\r\nfrom ginkgo_tools import Base_Operation_Threading_Target\r\n\r\nclass MyThreadTask(Base_Operation_Threading_Target):\r\n    def run(self):\r\n        # \u5b9e\u73b0\u5177\u4f53\u7684\u4efb\u52a1\u903b\u8f91\r\n        pass\r\n\r\n# \u521b\u5efa\u5e76\u542f\u52a8\u7ebf\u7a0b\u4efb\u52a1\r\ntask = MyThreadTask(target_object, operation_dict)\r\ntask.start()\r\n```\r\n\r\n## \u652f\u6301\u7684 Python \u7248\u672c\r\n\r\n- Python 3.6\r\n- Python 3.7\r\n- Python 3.8\r\n- Python 3.9\r\n- Python 3.10\r\n- Python 3.11\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\u4e00\u5957\u5b9e\u7528\u7684 Python \u5de5\u5177\u5e93\uff0c\u5305\u542b\u65e5\u5fd7\u3001\u65f6\u95f4\u5904\u7406\u548c\u591a\u7ebf\u7a0b\u76f8\u5173\u7684\u5de5\u5177\u51fd\u6570",
    "version": "0.1.4",
    "project_urls": null,
    "split_keywords": [
        "tools",
        " utilities",
        " logging",
        " time",
        " threading"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "16fb3334d655de8757ceef379c8f9a07fd5f25f225b94dc87f082581fd33f085",
                "md5": "1bdfd4f7e1f9ef710e38707cb7e64f38",
                "sha256": "7663753916c4c0a7e6dcbe87a2af2c02693d22d79d007cc839f6e6b93fc2714a"
            },
            "downloads": -1,
            "filename": "ginkgo_tools-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1bdfd4f7e1f9ef710e38707cb7e64f38",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 10272,
            "upload_time": "2025-11-01T15:33:11",
            "upload_time_iso_8601": "2025-11-01T15:33:11.356471Z",
            "url": "https://files.pythonhosted.org/packages/16/fb/3334d655de8757ceef379c8f9a07fd5f25f225b94dc87f082581fd33f085/ginkgo_tools-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d4ef238452d89ef10091e8e03abb5f2184947327940eaddfc17b2bbc1e0a3e9c",
                "md5": "0e80dd02d744733b87b54afed6459029",
                "sha256": "7d8ff2c516511c750f2469651e7470d998f45e47f51c7b54a87fe8b13d0f4765"
            },
            "downloads": -1,
            "filename": "ginkgo_tools-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "0e80dd02d744733b87b54afed6459029",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 10195,
            "upload_time": "2025-11-01T15:33:14",
            "upload_time_iso_8601": "2025-11-01T15:33:14.810856Z",
            "url": "https://files.pythonhosted.org/packages/d4/ef/238452d89ef10091e8e03abb5f2184947327940eaddfc17b2bbc1e0a3e9c/ginkgo_tools-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-01 15:33:14",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "ginkgo-tools"
}
        
Elapsed time: 0.75855s