Git Product home page Git Product logo

dqwzc / fishbase Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chinapnr/fishbase

0.0 0.0 0.0 6.21 MB

自主开发、整理的一套 Python 基础函数库,涵盖 system 系统增强包、logger 日志记录增强包、file 文件处理增强包、 date 日期处理函数包、data 数据信息处理函数包、csv 处理增强函数包、crypt 加密/编码增强包等,可减少程序开发工作量、降低引用复杂度。

License: MIT License

Python 100.00%

fishbase's Introduction

image

image

image

image

fishbase 简介

fishbase 是由我们开发和整理的一套 Python基础函数库,将我们平时在开发 Python项目时候的各类工具函数汇聚到一起,方便集中管理和使用。希望对你也有所帮助,也适合初学 Python 的朋友通过代码来学习。

fishbase 最新版本为 v1.5,支持 Python 3.5-3.9,绝大部分函数也能工作在 Python 2.7下,但是我们不推荐使用 Python 2.7。

fishbase 主要有以下功能模块:

模块 功能函数
fish_common 基本函数包
fish_crypt 加密数据函数包
fish_csv csv处理增强函数包
fish_data 数据处理函数包,包括银行卡、身份证等
fish_date 日期处理增强函数包
fish_file 文件处理增强函数包
fish_logger 日志记录增强函数包
fish_project 项目目录结构生成函数包
fish_random 随机数据生成增强函数包
fish_system 系统增强函数包

安装

# 通过 pip 进行安装或者更新
pip install -U fishbase

fishbase 功能举例

获取文件的绝对路径

>>> from fishbase.fish_files import get_abs_filename_with_sub_path
>>> print(get_abs_filename_with_sub_path('/etc', 'hosts'))
(True, '/etc/hosts')

根据时间戳获取时间间隔

>>> from fishbase.fish_date import get_time_interval
>>> print(get_time_interval(1548575829,1548476921))
{'days': 1, 'hours': 3, 'minutes': 28, 'seconds': 28}

生成随机符合校验规则的身份证和银行卡数据

>>> from fishbase.fish_random import gen_random_id_card
>>> # 随机生成一个身份证号
>>> print(gen_random_id_card())
['3101091986******47']
>>> from fishbase.fish_random import gen_random_bank_card
>>> # 随机生成一个**银行的信用卡卡号
>>> print(gen_random_bank_card('**银行', 'CC'))
625907379******1

创建项目结构

>>> import os
>>> from fishbase.fish_project import init_project_by_yml
>>> package_yml = '''
... project: hellopackage
... tree:
...     - README.md
...     - requirements.txt
...     - setup.py
... '''
>>> # 通过 yml 文件创建一个项目结构
>>> init_project_by_yml(package_yml, '.')
>>> print(os.listdir('./hellopackage'))
['requirements.txt', 'README.md', 'setup.py']

更新记录

2021.7.20 v1.5

  • #300 , fish_logger 中的 log 文件默认后缀修改为 .log,日期移到文件名开头;
  • 修改文档描述

2021.6.23 v1.4

  • #288 , fish_date 中的 GetRandomTime 修改为 RandomTime,其中函数名称修改为 get_random_datetime_this_month() get_random_datetime_this_year() get_random_date_by_year() get_random_date_by_range();
  • #292 , fish_data 增加敏感数据掩码显示类 SensitiveMask,增加函数 get_idcard_number() get_bankcard_number() get_mobile_number() get_email() ;
  • 修改小错误
  • 修改文档描述

2020.4.25 v1.3

  • #273 , 随机数包的文档举例中的函数名称错误修正;
  • #275 , 随机数,gen_random_id_card() 函数优化;

2020.3.28 v1.2

  • #255 #266 , 开始使用 github 的 Actions 进行 CI 集成;
  • #257 , conf_as_dict() 函数移动从 common 包移动到 system 包;
  • #259 , 增加 fish_object 函数包,面向对象增强函数;
  • #260 , common 包,删除 sorted_objs_by_attr() 函数和 get_group_list_data() 函数;
  • #261 , common 包,paging 函数名称修改为 get_page_data();
  • #263 , common 包,删除一些为了向前兼容的函数;
  • #263 , 删除 flask swagger 支持;

2019.12.5 v1.1.16

  • 为 flask应用添加 swagger模块 #249

2019.7.17 v1.1.15

  • 添加可选参数,定义日志文件格式 #240
  • 根据银行卡、身份证获取详细信息的方法 #243

2019.6.25 v1.1.14

  • 修复金额数字转中文大写时多个零的错误 #238
  • 按照特定长度分割长文本字符 #239

2019.6.11 v1.1.13

  • 数字金额和中文大写相互转换 #235

详细帮助

更多详细文档,请参见:http://fishbase.readthedocs.io/

如有好的建议,欢迎提 issue :https://github.com/chinapnr/fishbase/issues

感谢

自2016年3月初次发布以来,先后发布了20余个版本,非常感谢所有在 fishbase函数包发展过程中做出贡献的朋友们!

fishbase函数包的作者名单,按照时间先后列出如下:

Yi Jun

Leo

Zhang Muqing

Hu Jun

Jia Chunying

Yan Runsha

Miao Tianshi

Jin Xiongwei

Wang Xiaolong

fishbase's People

Contributors

wingfish avatar itaa avatar mindjun avatar leochengkx avatar halfapple avatar miaotianshi avatar renmu123 avatar zhangmuqing avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.