Saravanan666/pypi-org huggingface dataset:
Package: czh-mongo-py
环境准备安装所需的库pip install happy-python pymongo更改配置文件cdmongo-py
cpconf/config.ini.sampleconf/config.ini
cpconf/log.ini.sampleconf/log.ini在config.ini中填写mongodb的ip和port使用方法1.使用文件上传，file.js中为json格式的内容python main.py -i file.js2.查询匹配{'name': 'Jordan'}的documentpython main.py -q "{'name': 'Jordan'}"3.将匹配{'name': 'Jordan'}的collection更改name为Mikepython main.py -u "{'name': 'Jordan'}" "{'name':'Mike'}"4.删除匹配{'name':'Mike'}的所有documentpython main.py -d "{'name':'Mike'}"
Package: cz-ip
# 查 ip 所在位置, 查找速度还行(微秒级), 数据来自纯真数据库.### Install```pip install cz-ip```### Usage```>>> import cz_ip>>> cz_ip.locate("8.8.8.8")'美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器'``````$ python -m cz_ip114.114.114.114114.114.114.114 江苏省南京市 南京信风网络科技有限公司GreatbitDNS服务器``````$ cat ips.txt114.114.114.114172.16.16.1610.0.0.110.0.0.2$ python -m cz_ip <ips.txt114.114.114.114 江苏省南京市 南京信风网络科技有限公司GreatbitDNS服务器172.16.16.16    局域网 对方和您在同一内部网10.0.0.1        局域网 IP10.0.0.2        局域网 IP```
Package: czipfile
czipfile is a replacement for Python’s builtin “zipfile” module, and
provides much faster, C-based zipfile decryption.  The code is actually
95% identical to Python 2.6.5’s Lib/zipfile.py, with some very minor
modifications to allow it to compile in Cython, and the _ZipDecrypter
class adapted to take advantage of native C datatypes.Many thanks to _habnabit from #python in Freenode for pointing me in
the right direction in Cython.To build:$ python setup.py build
# python setup.py installOr, if you use easy_install:# easy_install czipfileOr, if you use pip:# pip install czipfileCython is not required to build the extension, though if you want to make
any changes you’ll want to edit the .pyx and install Cython rather than
trying to edit the generated .c file.Included in the source distribution is a patch versus Python 2.6.5’s
Lib/zipfile.py which can be used to create czipfile.pyx, if you want.This package might require Python 2.6; I haven’t tested it in earlier
Python versions.I’ve put this release under the Python Software Foundation License,
specifically the 2.6.2 version.  I believe this to be the most
appropriate license for the code, given its lineage, though if I
should just use GPLv3 instead, feel free to let me know.CJ Kucera
<pez at apocalyptech dot com>
Package: czitools
czitoolsThis repository provides a collection of tools to simplify reading CZI (Carl Zeiss Image) pixel and metadata in Python. In addition it also contains other useful utilities to visualize CZI images inside Napari (needs to be installed). It is also available as aPython Package on PyPiReading the metadataPlease checkuse_metadata_tools.pyfor some examples.# get the metadata at once as one big classmdata=czimd.CziMetadata(filepath)# get only specific metadataczi_dimensions=czimd.CziDimensions(filepath)print("SizeS: ",czi_dimensions.SizeS)print("SizeT: ",czi_dimensions.SizeT)print("SizeZ: ",czi_dimensions.SizeZ)print("SizeC: ",czi_dimensions.SizeC)print("SizeY: ",czi_dimensions.SizeY)print("SizeX: ",czi_dimensions.SizeX)# try to write XML to filexmlfile=czimd.writexml(filepath)# get info about the channelsczi_channels=czimd.CziChannelInfo(filepath)# get the complete metadata from the CZI as one big objectczimd_complete=czimd.get_metadata_as_object(filepath)# get an object containing only the dimension informationczi_dimensions=czimd.CziDimensions(filepath)# get an object containing only the dimension informationczi_scale=czimd.CziScaling(filepath)# get an object containing information about the sampleczi_sample=czimd.CziSampleInfo(filepath)# get info about the objective, the microscope and the detectorsczi_objectives=czimd.CziObjectives(filepath)czi_detectors=czimd.CziDetector(filepath)czi_microscope=czimd.CziMicroscope(filepath)# get info about the sample carrierczi_sample=czimd.CziSampleInfo(filepath)# get additional metainformationczi_addmd=czimd.CziAddMetaData(filepath)# get the complete data about the bounding boxesczi_bbox=czimd.CziBoundingBox(filepath)Reading CZI pixel dataWhile thepylibCZIrwis focussing on reading individual planes it is also helpful to read CZI pixel data as a STCZYX(A) stack. Please checkuse_read_tools.pyfor some examples.# return a dask or numpy array with dimension order STCZYX(A)array6d,mdata=read_tools.read_6darray(filepath,use_dask=True,chunk_zyx=False,# T=0,# Z=0# S=0# C=0)ifarray6disNone:print("Empty array6d. Nothing to display in Napari")else:# show array inside napari viewerviewer=napari.Viewer()layers=napari_tools.show(viewer,array6d,mdata,blending="additive",contrast='from_czi',gamma=0.85,show_metadata="tree",name_sliders=True)napari.run()Colab NotebooksRead CZI metadataThe basic usage can be inferred from this sample notebook:Read CZI pixeldataThe basic usage can be inferred from this sample notebook:Write OME-ZARR from 5D CZI image dataThe basic usage can be inferred from this sample notebook:Write CZI using ZSTD compressionThe basic usage can be inferred from this sample notebook:Show planetable of a CZI image as surfaceThe basic usage can be inferred from this sample notebook:Read a CZI and segment using Voroni-Otsu provided by PyClesperanto GPU processingThe basic usage can be inferred from this sample notebook:RemarksThe code to read multi-dimensional with delayed reading using Dask array was heavily inspired by input from:Pradeep Rajasekhar.
Package: czjson
fix this bug for cjson>>>import cjson>>>print cjson.encode({1:2})Traceback (most recent call last):File "test.py", line 11, in <module>print cjson.encode({1:2})EncodeError: JSON encodable dictionaries must have string/unicode keys>>>import czjson>>>print czjson.dumps({1:2}){"1":2}===========================================================This module implements a very fast JSON encoder/decoder for Python.JSON stands for JavaScript Object Notation and is a text based lightweightdata exchange format which is easy for humans to read/write and for machinesto parse/generate. JSON is completely language independent and has multipleimplementations in most of the programming languages, making it ideal fordata exchange and storage.The module is written in C and it is up to 250 times faster when compared tothe other python JSON implementations which are written directly in python.This speed gain varies with the complexity of the data and the operation andis the the range of 10-200 times for encoding operations and in the range of100-250 times for decoding operations.
Package: cz-legacy
cz_legacyCustom Commitizen parser for user-specified legacy change types. The parser utilizes thecz_conventional_commitspattern and extends with the tag mapping specified in the configuration file.While old change types will appear in the "Changelog", the user will be prevented from using them in new commits. This is the reverse of therevert/chore logicfrom commitizen that allows use of those commit types, but won't display them in the changelog.AlternativesThis customization only works when old commits use the<change_type>: <message>format that can be parsed by commitizen. If that doesn't fit your use case, you may want to try outincrementalwhich (I think) prepends to an existingCHANGELOGUsagePre-CommitTo use in pre-commit, add this to yourpre-commit-config.yml. Runpre-commit autoupdateto get the latest versionrepos:-repo:https://github.com/commitizen-tools/commitizenrev:mainhooks:-id:commitizenadditional_dependencies:[cz_legacy]stages:[commit-msg]ConfigurationAt minimum, you must have thename = "cz_legacy"and[tool.commitizen.cz_legacy_map]in your configuration file. The below example is for TOML, you can also utilize a YAML or JSON file.Below is an example of the three change legacy types Chg, Fix, and New, but the user can choose any tag names and associated mapping for the Changelog[tool.commitizen]name="cz_legacy"# Other tool.commitizen configuration options[tool.commitizen.cz_legacy_map]Chg="Change (old)"Fix="Fix (old)"New="New (old)"IssuesIf you have any feature requests, run into any bugs, or have questions, feel free to start a discussion or open an issue on Github athttps://github.com/kyleking/cz_legacy.Project StatusSee theOpen Issuesand/or theCODE_TAG_SUMMARY. For release history, see theCHANGELOG.ContributingWe welcome pull requests! For your pull request to be accepted smoothly, we suggest that you first open a GitHub issue to discuss your idea. For resources on getting started with the code base, see the below documentation:DEVELOPER_GUIDESTYLE_GUIDECode of ConductWe follow theContributor Covenant Code of Conduct.Open Source StatusWe try to reasonably meet most aspects of the "OpenSSF scorecard" fromOpen Source InsightsResponsible DisclosureIf you have any security issue to report, please contact the project maintainers privately. You can reach us atdev.act.kyle@gmail.com.LicenseLICENSE
Package: czml3
Name:czml3Authors:Juan Luis Cano RodríguezEleftheria Chatziargyriouczml3 is a Python library to write CZML.What is CZML?From the officialCZML Guide:CZML is a JSON format for describing a time-dynamic graphical scene,
primarily for display in a web browser running Cesium.
It describes lines, points, billboards, models, and other graphical primitives,
and specifies how they change with time.
While Cesium has a rich client-side API,
CZML allows it to be data-driven
so that a generic Cesium viewer can display a rich scene
without the need for any custom code.InstallationYou can install czml3 using pip:$ pip install czml3or conda:$ conda install czml3 --channel conda-forgeczml3 requires Python >= 3.7.ExamplesA CZML document is a list ofpackets, which have several properties.
When using czml3 in an interactive interpreter,
all objects show as nice CZML (JSON):>>> from czml3 import Packet
>>> print(Packet())
{
    "id": "adae4d3a-7087-4fda-a70b-d18a262a890e"
}
>>> packet0 = Packet(id="Facility/AGI", name="AGI")
>>> print(packet0)
{
    "id": "Facility/AGI",
    "name": "AGI"
}
>>> packet0.dumps()
'{"id": "Facility/AGI", "name": "AGI"}'And there are more complex examples available:>>> from czml3.examples import simple
>>> print(simple)
[
    {
        "id": "document",
        "version": "1.0",
        "name": "simple",
        "clock": {
            "interval": "2012-03-15T10:00:00Z/2012-03-16T10:00:00Z",
            "currentTime": "2012-03-15T10:00:00Z",
            "multiplier": 60,
            "range": "LOOP_STOP",
            "step": "SYSTEM_CLOCK_MULTIPLIER"
        }
    },
...Jupyter widgetYou can easily display your CZML document using our interactive widget:In [1]: from czml3.examples import simple

In [2]: from czml3.widget import CZMLWidget

In [3]: CZMLWidget(simple)And this would be the result:SupportIf you find any issue on czml3 or have questions,
pleaseopen an issue on our repositoryand joinour chat!ContributingYou want to contribute? Awesome! There are lots ofCZML propertiesthat we still did not implement. Also, it would be great to have
better validation, a Cesium widget in Jupyter notebook and JupyterLab…
Ideas welcome!We recommendthis GitHub workflowto fork the repository. To run the tests,
usetox:$ toxBefore you send us a pull request, remember to reformat all the code:$ tox -e reformatThis will apply black, isort, and lots of love ❤️Licenseczml3 is released under the MIT license, hence allowing commercial
use of the library. Please refer to theLICENSEfile.
Package: czmlpy
Name:czmlpyAuthors:Juan Luis Cano RodríguezEleftheria Chatziargyriouczmlpy is a Python library to write CZML.What is CZML?From the officialCZML Guide:CZML is a JSON format for describing a time-dynamic graphical scene,
primarily for display in a web browser running Cesium.
It describes lines, points, billboards, models, and other graphical primitives,
and specifies how they change with time.
While Cesium has a rich client-side API,
CZML allows it to be data-driven
so that a generic Cesium viewer can display a rich scene
without the need for any custom code.InstallationYou can install czmlpy using pip:$ pip install czmlpyor conda:$ conda install czmlpy --channel conda-forgeczmlpy requires Python >= 3.7.ExamplesA CZML document is a list ofpackets, which have several properties.
When using czmlpy in an interactive interpreter,
all objects show as nice CZML (JSON):>>> from czmlpy import Packet
>>> print(Packet())
{
    "id": "adae4d3a-7087-4fda-a70b-d18a262a890e"
}
>>> packet0 = Packet(id="Facility/AGI", name="AGI")
>>> print(packet0)
{
    "id": "Facility/AGI",
    "name": "AGI"
}
>>> packet0.dumps()
'{"id": "Facility/AGI", "name": "AGI"}'And there are more complex examples available:>>> from czmlpy.examples import simple
>>> print(simple)
[
    {
        "id": "document",
        "version": "1.0",
        "name": "simple",
        "clock": {
            "interval": "2012-03-15T10:00:00Z/2012-03-16T10:00:00Z",
            "currentTime": "2012-03-15T10:00:00Z",
            "multiplier": 60,
            "range": "LOOP_STOP",
            "step": "SYSTEM_CLOCK_MULTIPLIER"
        }
    },
...Jupyter widgetYou can easily display your CZML document using our interactive widget:In [1]: from czmlpy.examples import simple

In [2]: from czmlpy.widget import CZMLWidget

In [3]: CZMLWidget(simple)And this would be the result:SupportIf you find any issue on czmlpy or have questions,
pleaseopen an issue on our repositoryContributingYou want to contribute? Awesome! There are lots ofCZML propertiesthat we still did not implement. Also, it would be great to have
better validation, a Cesium widget in Jupyter notebook and JupyterLab…
Ideas welcome!We recommendthis GitHub workflowto fork the repository. To run the tests,
usetox:$ toxBefore you send us a pull request, remember to reformat all the code:$ tox -e reformatThis will apply black, isort, and lots of love ❤️To build a wheel file, update version in setup.py and __init__.py, then:$ python setup.py sdist bdist_wheel
$ twine upload --repository testpypi dist/*Licenseczmlpy is released under the MIT license, hence allowing commercial
use of the library. Please refer to theLICENSEfile.
Package: czneau
The MIT License (MIT)
Copyright © 2022 U-73A5 <u73a5@foxmail.com>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Package: cz-nhm
cz-nhmThis is acommitizenconfig used by the Natural History Museum's Informatics team.Install with:pipinstallgit+https://github.com/NaturalHistoryMuseum/cz-nhm.gitThen use by setting the commitizen config name tocz_nhm, e.g. inpyproject.toml:[tool.commitizen]name="cz_nhm"version="1.0.0"tag_format="v$version"version_files=["pyproject.toml:version"]
Package: cz-ossfs
OSSFSis a Python-based interface for file systems that enables interaction with
OSS (Object Storage Service). ThroughOSSFS, users can utilize fsspec’s standard
API to operate on OSS objectsInstallationYou can installOSSFSviapipfromPyPI:$pipinstallossfsUp-to-date package also provided through conda-forge distribution:$condainstall-cconda-forgeossfsQuick StartHere is a simple example of locating and reading an object in OSS.importossfsfs=ossfs.OSSFileSystem(endpoint='http://oss-cn-hangzhou.aliyuncs.com')fs.ls('/dvc-test-anonymous/LICENSE')[{'name':'/dvc-test-anonymous/LICENSE','Key':'/dvc-test-anonymous/LICENSE','type':'file','size':11357,'Size':11357,'StorageClass':'OBJECT','LastModified':1622761222}]withfs.open('/dvc-test-anonymous/LICENSE')asf:...print(f.readline())b'                                 Apache License\n'For more use case and apis please refer to the documentation offsspecAsync OSSFSAsyncOSSFSis a variant of ossfs that utilizes the third-party async OSS
backendaiooss2, rather than the official sync one,oss2. Async OSSFS
allows for concurrent calls within bulk operations, such ascat,put, andgetetc even from normal code, and enables the direct use of fsspec in async
code without blocking. The usage of asyncOSSFSis similar to the synchronous
variant; one simply needs to replaceOSSFileSystemwithAioOSSFileSystemneed to do is replacing theOSSFileSystemwith theAioOSSFileSystemimportossfsfs=ossfs.AioOSSFileSystem(endpoint='http://oss-cn-hangzhou.aliyuncs.com')print(fs.cat('/dvc-test-anonymous/LICENSE'))b'                                 Apache License\n'...Althoughaiooss2is not officially supported, there are still some
features that are currently lacking. However, in tests involving theput/getof 1200 small files, the async version of ossfs ran ten times
faster than the synchronous variant (depending on the pool size of the
concurrency).Tasktime cost in (seconds)put 1200 small files via OSSFileSystem35.2688 (13.53)put 1200 small files via AioOSSFileSystem2.6060 (1.0)get 1200 small files via OSSFileSystem32.9096 (12.63)get 1200 small files via AioOSSFileSystem3.3497 (1.29)ContributingContributions are very welcome.
To learn more, see theContributor Guide.LicenseDistributed under the terms of theApache 2.0 license,Ossfsis free and open source software.IssuesIf you encounter any problems,
pleasefile an issuealong with a detailed description.
Package: czpubtran
CzPubTranA Python package to rertrieve realtime information about public transit in CZ by calling CHAPS REST API.Main purpose at the moment is to feed a sensor in Home-AssistantInstallpip install czpubtranExample usageimport asyncio
import logging
import aiohttp
from datetime import datetime, time
from czpubtran.api import czpubtran

logging.basicConfig(level=logging.ERROR)

async def test():
    session = aiohttp.ClientSession(raise_for_status=True)
    bus = czpubtran(session, '')

    timetables = await bus.async_list_combination_ids()
    print("Listing available timetables (Combination IDs)")
    print(timetables)

    print('------------------------------------------------')

    await bus.async_find_connection('Namesti Republiky', 'Chodov', 'ABCz')
    print(f'First connection from {bus.origin} to {bus.destination} using timetable {bus.combination_id}:')
    print(f'Departure: {bus.departure} line {bus.line}')
    print(f'Duration: {bus.duration}')
    print('Connections:')
    for i, description in [(0, '1st connection'), (1, '2nd connection')]:
        print(f'{description}:')
        for detail in bus.connection_detail[i]:
            print(
                f"line {detail['line']} "
                f"at {detail['depTime']} "
                f"from {detail['depStation']} "
                f"-> {detail['arrStation']} "
                f"{detail['arrTime']} "
                f"(delay: {detail['delay']} min)")

    print('------------------------------------------------')

    await bus.async_find_connection('Namesti Republiky', 'Chodov', 'ABCz', '23:20')
    print(f'Scheduled connection from {bus.origin} to {bus.destination} at {bus.start_time}:')
    print(f'Departure: {bus.departure} line {bus.line}')
    print(f'Duration: {bus.duration}')
    print('Connections:')
    for i, description in [(0, '1st connection'), (1, '2nd connection')]:
        print(f'{description}:')
        for detail in bus.connection_detail[i]:
            print(
                f"line {detail['line']} "
                f"at {detail['depTime']} "
                f"from {detail['depStation']} "
                f"-> {detail['arrStation']} "
                f"{detail['arrTime']} "
                f"(delay: {detail['delay']} min)")

    await session.close()

asyncio.run(test())
Package: cz-pydata
cz-pydataCommitizenis command-line utility
that helps you create your own set of rules for generating consistent commits,
bumping your project's version, or generating a change log automatically.PyDatais an umbrella of projects from the scientific Python community,
including NumPy, SciPy and Pandas. Some of these projects are using a commit message convention derived from theNumPy development guide, which will be referred to as thePyData convention.Keep a Changelogis a specification for writing structured
and human-readable changelogs. To my knowledge, there is currently no tooling available
to turn PyData-style commit messages into a structured changelog automatically.This plugin extends Commitizen to:Understand or generate commit messages following the PyData convention.Bump semantic versioning of a project based on those commit messages.Generate a structured changelog automatically following the KaC spec.Table of ContentsInstallationUsageLicenseInstallationUsing pippip install cz-pydataUsing pipxpipx install commitizenpipx inject commitizen cz-pydataUsing pre-commit# .pre-commit-config.yamlrepos:-repo:https://github.com/commitizen-tools/commitizenrev:master# TODO: Replace by latest versionhooks:-id:commitizenadditional_dependencies:[cz-pydata]UsageTo use this plugin with the Commitizen CLI:cz --name cz_pydata <command>ConfigurationYou can configure your project to use these commit rules
by adding the following settings in yourpyproject.toml:[tool.commitizen]name="cz_pydata"In addition, you may want to customize the commit message on version bumps
to support theRELchange type marker using:bump_message="REL: Release version $new_version"Other configuration options are explained in theCommitizen documentation.
Feel free to have a look at this project Commitizen configuration and adapt it to your needs.Licensecz-pydatais distributed under the terms of theMITlicense.
Package: czsc
czsc - 缠中说禅技术分析工具API文档|项目文档|投研数据共享|信号函数编写规范源于缠中说缠博客，原始博客中的内容不太完整，且没有评论，以下是网友整理的原文备份备份网址1：http://www.fxgan.com假如没有了分型、笔、线段，缠论还是缠论吗？如果你的答案是“是”，这个项目是为你准备的。本项目旨在提供一个符合缠中说禅思维方式的程序化交易工具。已经开始用czsc库进行量化研究的朋友，欢迎加入飞书群，快点击加入吧！B站视频教程合集（持续更新...）CZSC小圈子CZSC代码库QA项目贡献择时策略研究框架缠论的分型、笔的自动识别，详见czsc/analyze.py定义并实现信号-因子-事件-交易量化交易逻辑体系，因子是信号的线性组合，事件是因子的同类合并，详见czsc/objects.py定义并实现了若干信号函数，详见czsc/signals缠论多级别联立决策分析交易，详见CzscTrader基于 Tushare 数据的择时、选股策略回测研究流程安装使用注意:python 版本必须大于等于 3.7直接从github安装：pip install git@github.com:waditu/czsc.git -U直接从github指定分支安装最新版：pip install git+https://github.com/waditu/czsc.git@V0.9.41 -U从pypi安装：pip install czsc -U -i https://pypi.python.org/simple信号开源计划学了本ID的理论，去再看其他的理论，就可以更清楚地看到其缺陷与毛病，因此，广泛地去看不同的理论，不仅不影响本ID理论的学习，更能明白本ID理论之所以与其他理论不同的根本之处。为什么要去了解其他理论，就是这些理论操作者的行为模式，将构成以后我们猎杀的对象，他们操作模式的缺陷，就是以后猎杀他们的最好武器，这就如同学独孤九剑，必须学会发现所有派别招数的缺陷，这也是本ID理论学习中一个极为关键的步骤。信号开源计划旨在为缠论学习者提供一批其他理论对应的信号计算函数，供各位以量化的方式研究其他理论的缺陷和价值。这个计划的工作量极大，需要各位的参与。有意愿加入的朋友，请点击查看详情：CZSC信号开源计划介绍使用前必看目前的开发还在高频次的迭代中，对于已经在使用某个版本的用户，请谨慎更新，版本兼容性实在是太差，主要是因为当前还有太多考虑不完善的地方，我为此感到抱歉；这是个人开发的项目，虽然我已经尽可能避坑，但可以很直接的说，这里面一定还有坑，使用前请仔细校验分析结果，发现新坑请告诉我，我来填；目前开发完成度不高，API会有比较大的变动，谨慎升级版本，暂时不准备写文档，没有能力看懂源码的，不建议现在使用。免责声明：项目开源仅用于技术交流！如果你发现了项目中的 Bug，可以先读一下《如何有效地报告 Bug》，然后在issues中报告 Bug原文整理缠中说禅重新编排版《论语》（整理版）缠中说禅交易指南缠中说禅技术原理缠中说禅图解分析示范缠中说禅：缠非缠、禅非禅，枯木龙吟照大千（整理版）缠中说禅教你打坐（整理版）注意：如果CSDN的连接打不开，可以直接在czsc/docs目录下查看 html 文件资料分享链接：https://pan.baidu.com/s/1RXkP3188F0qu8Yk6CjbxRQ提取码：vhue