Skip to main content

Tools for python

Project description

bigtools

python 工具箱,实现了一些实用的函数、类和赋值了一批常用变量,方便调用,减少工程代码量。

安装

pip install bigtools

使用

每个函数、类、变量均有两种导入的方法,视不同情况选择适合的写法。为了更好的说明这个项目的情况,创建这个README我会尽量使用第二种写法。实际工程中我会使用第一种写法,简单直接。

# 例:
# 第一种写法,简单直接
from bigtools import generate_hash_value
# 第二种写法,包路径清晰
from bigtools.hash_tools import generate_hash_value

1. 使用函数或类

以生成hash值为例:

# 导入包
from bigtools import generate_hash_value
# 第二种写法
# from bigtools.hash_tools import generate_hash_value


hash_value = generate_hash_value('python工具箱')  # 默认使用md5,可选sha1、sha256 等等
print(hash_value)

2. 使用变量

2.1 以使用 headers 为例:

from bigtools import headers
# 第二种写法
# from bigtools.default_data import headers

print(headers)

import requests
url = ''
requests.get(url=url, headers=headers)

2.2 以使用 ContentType 为例: 大写字母开头的是类(type is class),类里包含已赋值的变量,可用.来加载变量

from bigtools import ContentType

# 第二种写法
# from bigtools.default_data import ContentType
print(ContentType.app_json_headers)

# 发送post请求,获取数据
import requests
url = ''
data = ''
response = requests.post(url=url, data=data, headers=ContentType.app_json_headers)
print(response)

实现清单

1. 已实现的函数或类

from bigtools.db_tools import mongo_client, async_mongo_client, MinioClinet, RedisClient
from bigtools.hash_tools import generate_hash_value, HASH_FUNCTIONS, HashGenerator
from bigtools.jieba_tools import get_keywords_from_text
from bigtools.log_tools import set_log, SetLog
from bigtools.yaml_tools import load_yaml, load_all_yaml, write_yaml
from bigtools.path_tools import check_make_dir, get_execution_dir, get_file_type, get_execution_file_name
from bigtools.download_tools import get_requests_session, download_stream_data, save_stream_data
from bigtools.download_tools import download_stream_data_async, save_stream_data_async
from bigtools.similarity_tools import cosine_similarity, edit_distance
from bigtools.auth_tools import generate_api_key, compute_key_hmac, generate_hmac_signature, verify_hmac_signature
from bigtools.auth_tools import dict_to_urlsafe_b64, urlsafe_b64_to_dict, merge_method_dict, merge_str, SignatureGenerator
from bigtools.auth_tools import verify_signature, refresh_signature, build_jwt_token, build_and_encode_jwt_token
from bigtools.stopwords import stopwords
from bigtools.more_tools import extract_ip, equally_split_list_or_str, load_config
from bigtools.more_tools import set_env, load_env, FuncTimer, time_sleep, count_str_start_or_end_word_num
from bigtools.more_tools import is_chinese, is_english, is_number, generate_random_string
from bigtools.exception_tools import RequestExceptionHandler, UniversalExceptionHandler
from bigtools.json_tools import save_json_data, save_json_data_sync, save_json_data_async
from bigtools.json_tools import load_json_data, load_json_data_sync, load_json_data_async
from bigtools.json_tools import pretty_print_json, validate_json_schema, validate_json_string
from bigtools.json_tools import save_json_data_by_orjson, save_json_data_sync_by_orjson, save_json_data_async_by_orjson
from bigtools.json_tools import load_json_data_by_orjson, load_json_data_sync_by_orjson, load_json_data_async_by_orjson
from bigtools.json_tools import pretty_print_orjson, validate_orjson_string
from bigtools.file_tools import get_file_size, save_file, save_file_async, save_files_batch

2. 已赋值的变量和实例化的类

详情见于 bigtools.default_data

2.1 已赋值的变量

from bigtools.default_data import headers
from bigtools.default_data import user_agents
from bigtools.default_data import random_headers
from bigtools.default_data import en_letter
from bigtools.default_data import numbers

2.2 已实例化的类

2.2.1 headers里常用的几种 Content-Type
from bigtools.default_data import ContentType

print(
ContentType.app_json,
ContentType.app_xwfu,
ContentType.app_xml,
ContentType.mul_fd,
ContentType.text_xml,
ContentType.app_json_headers,
ContentType.app_xwfu_headers,
ContentType.app_xml_headers,
ContentType.mul_fd_headers,
ContentType.text_xml_headers
)
2.2.2 常用的几种日期格式
from bigtools.default_data import DateType
"""
用于编写代码时提示,不建议写入代码里。写入会代码增加阅读难度。
实现了以下常用日期格式:
YYYY-MM-DD
YYYY年MM月DD日
YYYY.MM.DD
YYYYMMDD
YYYY/MM/DD
"""
# YYYY-MM-DD
print(DateType.type_1)
# YYYY年MM月DD日
print(DateType.type_2)
# YYYY.MM.DD
print(DateType.type_3)
# YYYYMMDD
print(DateType.type_4)
# YYYY/MM/DD
print(DateType.type_5)
2.2.3 re (正则表达式)里常用的 pattern
from bigtools.default_data import RePattern
print(RePattern.window_INITIAL_STATE)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bigtools-1.3.3.tar.gz (38.2 kB view details)

Uploaded Source

File details

Details for the file bigtools-1.3.3.tar.gz.

File metadata

  • Download URL: bigtools-1.3.3.tar.gz
  • Upload date:
  • Size: 38.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.7

File hashes

Hashes for bigtools-1.3.3.tar.gz
Algorithm Hash digest
SHA256 fb0d0044ad4af0322956d49ec87c44990e885900cbac7b08a54c69810286dc7f
MD5 9484355789fb7e6d409f93370c77355a
BLAKE2b-256 84775ec7a83b52e60c29efeff327dc1bd4c3209c7b7f09e26a520081dc3a79d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page