TimePinner


NameTimePinner JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://drissionpage.cn/TimePinner
Summary一个用于代码中计时的小工具。
upload_time2025-11-01 12:20:15
maintainerNone
docs_urlNone
authorg1879
requires_python>=3.6
licenseMIT
keywords stopwatch
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## 简介

TimePinner 是一个简单的计时工具。

类似于代码中的秒表。

可标记多个点,以记录若干段时间长度。

每段时间可以命名,以方便记忆,也可跳过无须记录的时间段。

## 安装与导入

### 安装

```python
pip install TimePinner
```

---

### 导入

```python
from TimePinner import Pinner
```

---

## 使用方法

### 创建对象

```python
from TimePinner import Pinner

pinner = Pinner()
```

---

### 记录时间点

使用`pin()`方法记录一个时间点,并返回时间差,可以通过`text`参数给该时间点命名。

可用`show`参数设置是否打印。

也可以在创建对象时用`show_everytime`参数设置是否打印。

`pin()`的`show`参数比创建对象时`show_everytime`参数优先级高。

如果`all_time`参数为`True`,打印和返回的是与第一个时间点的时间差。

```python
pinner = Pinner()
pinner.pin()  # 记录起始点
sleep(1)
pinner.pin('记录1')
sleep(2)
pinner.pin('记录2', show=False)  # 不打印该节点
```

输出:

```console
0.0
记录1:1.0084643
```

---

### 跳过时间段

有些时间段无须记录,用`skip()`方法跳过。下一个记录会以当前点作为起始。

```python
pinner.skip()
```

---

### 打印结果

通过`show()`方法,可以把记录到的时间段打印出来。

如果`all_time`参数为`True`,打印出来的是每个时间点与第一个时间点的时间差。

```console
记录1:1.007383
记录2:2.0145351000000002
```

---

### 获取结果

通过`records()`方法获取各个记录的时间段,每个时间段为一个两位元组。

如果`all_time`参数为`True`,打印出来的是每个时间点与第一个时间点的时间差。

```python
print(pinner.records())
```

输出:

```console
[('记录1', 1.0084643), ('记录2', 2.0126551999999998)]
```

---

### 获取最短的时间段

通过`winner()`方法可以获取最短的时间段,用于对比几段代码运行时间。

如果`all_time`参数为`True`,打印出来的是每个时间点与第一个时间点的时间差。

```python
print(pinner.winner())
```

输出:

```console
('记录1', 1.0084643)
```

---

### 重置

使用`reset()`方法清空已有记录并重新开始计时。

            

Raw data

            {
    "_id": null,
    "home_page": "https://drissionpage.cn/TimePinner",
    "name": "TimePinner",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "stopwatch",
    "author": "g1879",
    "author_email": "g1879@qq.com",
    "download_url": "https://files.pythonhosted.org/packages/07/a5/a3617a6082afac59d0717699d5d26c8a3907d77a2f81fe6a768e690a062e/timepinner-1.0.0.tar.gz",
    "platform": null,
    "description": "## \u7b80\u4ecb\r\n\r\nTimePinner \u662f\u4e00\u4e2a\u7b80\u5355\u7684\u8ba1\u65f6\u5de5\u5177\u3002\r\n\r\n\u7c7b\u4f3c\u4e8e\u4ee3\u7801\u4e2d\u7684\u79d2\u8868\u3002\r\n\r\n\u53ef\u6807\u8bb0\u591a\u4e2a\u70b9\uff0c\u4ee5\u8bb0\u5f55\u82e5\u5e72\u6bb5\u65f6\u95f4\u957f\u5ea6\u3002\r\n\r\n\u6bcf\u6bb5\u65f6\u95f4\u53ef\u4ee5\u547d\u540d\uff0c\u4ee5\u65b9\u4fbf\u8bb0\u5fc6\uff0c\u4e5f\u53ef\u8df3\u8fc7\u65e0\u987b\u8bb0\u5f55\u7684\u65f6\u95f4\u6bb5\u3002\r\n\r\n## \u5b89\u88c5\u4e0e\u5bfc\u5165\r\n\r\n### \u5b89\u88c5\r\n\r\n```python\r\npip install TimePinner\r\n```\r\n\r\n---\r\n\r\n### \u5bfc\u5165\r\n\r\n```python\r\nfrom TimePinner import Pinner\r\n```\r\n\r\n---\r\n\r\n## \u4f7f\u7528\u65b9\u6cd5\r\n\r\n### \u521b\u5efa\u5bf9\u8c61\r\n\r\n```python\r\nfrom TimePinner import Pinner\r\n\r\npinner = Pinner()\r\n```\r\n\r\n---\r\n\r\n### \u8bb0\u5f55\u65f6\u95f4\u70b9\r\n\r\n\u4f7f\u7528`pin()`\u65b9\u6cd5\u8bb0\u5f55\u4e00\u4e2a\u65f6\u95f4\u70b9\uff0c\u5e76\u8fd4\u56de\u65f6\u95f4\u5dee\uff0c\u53ef\u4ee5\u901a\u8fc7`text`\u53c2\u6570\u7ed9\u8be5\u65f6\u95f4\u70b9\u547d\u540d\u3002\r\n\r\n\u53ef\u7528`show`\u53c2\u6570\u8bbe\u7f6e\u662f\u5426\u6253\u5370\u3002\r\n\r\n\u4e5f\u53ef\u4ee5\u5728\u521b\u5efa\u5bf9\u8c61\u65f6\u7528`show_everytime`\u53c2\u6570\u8bbe\u7f6e\u662f\u5426\u6253\u5370\u3002\r\n\r\n`pin()`\u7684`show`\u53c2\u6570\u6bd4\u521b\u5efa\u5bf9\u8c61\u65f6`show_everytime`\u53c2\u6570\u4f18\u5148\u7ea7\u9ad8\u3002\r\n\r\n\u5982\u679c`all_time`\u53c2\u6570\u4e3a`True`\uff0c\u6253\u5370\u548c\u8fd4\u56de\u7684\u662f\u4e0e\u7b2c\u4e00\u4e2a\u65f6\u95f4\u70b9\u7684\u65f6\u95f4\u5dee\u3002\r\n\r\n```python\r\npinner = Pinner()\r\npinner.pin()  # \u8bb0\u5f55\u8d77\u59cb\u70b9\r\nsleep(1)\r\npinner.pin('\u8bb0\u5f551')\r\nsleep(2)\r\npinner.pin('\u8bb0\u5f552', show=False)  # \u4e0d\u6253\u5370\u8be5\u8282\u70b9\r\n```\r\n\r\n\u8f93\u51fa\uff1a\r\n\r\n```console\r\n0.0\r\n\u8bb0\u5f551\uff1a1.0084643\r\n```\r\n\r\n---\r\n\r\n### \u8df3\u8fc7\u65f6\u95f4\u6bb5\r\n\r\n\u6709\u4e9b\u65f6\u95f4\u6bb5\u65e0\u987b\u8bb0\u5f55\uff0c\u7528`skip()`\u65b9\u6cd5\u8df3\u8fc7\u3002\u4e0b\u4e00\u4e2a\u8bb0\u5f55\u4f1a\u4ee5\u5f53\u524d\u70b9\u4f5c\u4e3a\u8d77\u59cb\u3002\r\n\r\n```python\r\npinner.skip()\r\n```\r\n\r\n---\r\n\r\n### \u6253\u5370\u7ed3\u679c\r\n\r\n\u901a\u8fc7`show()`\u65b9\u6cd5\uff0c\u53ef\u4ee5\u628a\u8bb0\u5f55\u5230\u7684\u65f6\u95f4\u6bb5\u6253\u5370\u51fa\u6765\u3002\r\n\r\n\u5982\u679c`all_time`\u53c2\u6570\u4e3a`True`\uff0c\u6253\u5370\u51fa\u6765\u7684\u662f\u6bcf\u4e2a\u65f6\u95f4\u70b9\u4e0e\u7b2c\u4e00\u4e2a\u65f6\u95f4\u70b9\u7684\u65f6\u95f4\u5dee\u3002\r\n\r\n```console\r\n\u8bb0\u5f551\uff1a1.007383\r\n\u8bb0\u5f552\uff1a2.0145351000000002\r\n```\r\n\r\n---\r\n\r\n### \u83b7\u53d6\u7ed3\u679c\r\n\r\n\u901a\u8fc7`records()`\u65b9\u6cd5\u83b7\u53d6\u5404\u4e2a\u8bb0\u5f55\u7684\u65f6\u95f4\u6bb5\uff0c\u6bcf\u4e2a\u65f6\u95f4\u6bb5\u4e3a\u4e00\u4e2a\u4e24\u4f4d\u5143\u7ec4\u3002\r\n\r\n\u5982\u679c`all_time`\u53c2\u6570\u4e3a`True`\uff0c\u6253\u5370\u51fa\u6765\u7684\u662f\u6bcf\u4e2a\u65f6\u95f4\u70b9\u4e0e\u7b2c\u4e00\u4e2a\u65f6\u95f4\u70b9\u7684\u65f6\u95f4\u5dee\u3002\r\n\r\n```python\r\nprint(pinner.records())\r\n```\r\n\r\n\u8f93\u51fa\uff1a\r\n\r\n```console\r\n[('\u8bb0\u5f551', 1.0084643), ('\u8bb0\u5f552', 2.0126551999999998)]\r\n```\r\n\r\n---\r\n\r\n### \u83b7\u53d6\u6700\u77ed\u7684\u65f6\u95f4\u6bb5\r\n\r\n\u901a\u8fc7`winner()`\u65b9\u6cd5\u53ef\u4ee5\u83b7\u53d6\u6700\u77ed\u7684\u65f6\u95f4\u6bb5\uff0c\u7528\u4e8e\u5bf9\u6bd4\u51e0\u6bb5\u4ee3\u7801\u8fd0\u884c\u65f6\u95f4\u3002\r\n\r\n\u5982\u679c`all_time`\u53c2\u6570\u4e3a`True`\uff0c\u6253\u5370\u51fa\u6765\u7684\u662f\u6bcf\u4e2a\u65f6\u95f4\u70b9\u4e0e\u7b2c\u4e00\u4e2a\u65f6\u95f4\u70b9\u7684\u65f6\u95f4\u5dee\u3002\r\n\r\n```python\r\nprint(pinner.winner())\r\n```\r\n\r\n\u8f93\u51fa\uff1a\r\n\r\n```console\r\n('\u8bb0\u5f551', 1.0084643)\r\n```\r\n\r\n---\r\n\r\n### \u91cd\u7f6e\r\n\r\n\u4f7f\u7528`reset()`\u65b9\u6cd5\u6e05\u7a7a\u5df2\u6709\u8bb0\u5f55\u5e76\u91cd\u65b0\u5f00\u59cb\u8ba1\u65f6\u3002\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "\u4e00\u4e2a\u7528\u4e8e\u4ee3\u7801\u4e2d\u8ba1\u65f6\u7684\u5c0f\u5de5\u5177\u3002",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://drissionpage.cn/TimePinner"
    },
    "split_keywords": [
        "stopwatch"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a2ae88bd3cb20e737c171563f1bacd6a626f2e7384fdba1e392c24c478e2307f",
                "md5": "1c04db30b8b6bfcafaac0c2886d5e3ca",
                "sha256": "71e9e3fa1f1ccadfb5ab4c41c0fc48b700d656bd86ed6e28d568b9b0b5625d50"
            },
            "downloads": -1,
            "filename": "timepinner-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1c04db30b8b6bfcafaac0c2886d5e3ca",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 5184,
            "upload_time": "2025-11-01T12:20:13",
            "upload_time_iso_8601": "2025-11-01T12:20:13.148680Z",
            "url": "https://files.pythonhosted.org/packages/a2/ae/88bd3cb20e737c171563f1bacd6a626f2e7384fdba1e392c24c478e2307f/timepinner-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "07a5a3617a6082afac59d0717699d5d26c8a3907d77a2f81fe6a768e690a062e",
                "md5": "413c566579242ea04faf91201ed92c15",
                "sha256": "178f94e257cce6293ab729bfc6da7c8950c1804118492c18516673dca5eb17a9"
            },
            "downloads": -1,
            "filename": "timepinner-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "413c566579242ea04faf91201ed92c15",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 4516,
            "upload_time": "2025-11-01T12:20:15",
            "upload_time_iso_8601": "2025-11-01T12:20:15.145428Z",
            "url": "https://files.pythonhosted.org/packages/07/a5/a3617a6082afac59d0717699d5d26c8a3907d77a2f81fe6a768e690a062e/timepinner-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-01 12:20:15",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "timepinner"
}
        
Elapsed time: 3.10886s