Skip to main content

prestool

Project description

一、安装(python版本建议3.6以上)

pip install --upgrade  prestool

二、常用工具

from prestool.Tool import Tool

tool = Tool()

随机数据

tool.random_name()  # 随机姓名
tool.random_phone()  # 随机手机号
tool.random_ssn()  # 随机身份证

tool.random_string(16)  # 随机位数的字符串
tool.random_number(8)  # 随机位数的数字

tool.random_ua()  # 随机UA
tool.random_ua('chrome')  # 随机UA-Chrome
tool.random_ua('firefox')  # 随机UA-Firefox
tool.random_ua('ie')  # 随机UA-IE
tool.random_ua('opera')  # 随机UA-opera
tool.random_ua('safari')  # 随机UA-safari

编码解码

tool.url_encode('编码前的url地址')  # 编码
tool.url_decode('解码前的url地址')  # 解码

tool.base_64_encode('编码前的字符串')  # base64编码

加密相关

tool.to_md5('原始字符串')
tool.to_hmac_256('原始字符串', '加密key')
tool.to_sha_256('原始字符串')

发送消息

钉钉
tool.ding_talk_token = '钉钉机器人token'
tool.ding_talk_sign_key = '钉钉机器人签名key'

tool.send_ding_talk_msg('消息内容')
企业微信
tool.qy_wechat_token = '企业微信机器人token'

tool.send_qy_wechat_msg('消息内容')
邮件
tool.mail_from_user_host = '发件地址host'
tool.mail_from_user = '发件人邮箱号'
tool.mail_from_user_pwd = '发件人密码'

tool.send_mail_msg(to_user='收件人邮箱地址(列表)', title='邮件标题', content='邮件内容')

时间相关

tool.time_stamp()  # 秒级时间戳10位
tool.time_stamp('ms')  # 毫秒级时间戳13位

tool.get_now_time()  # 获取当前时间 20201206000000
tool.get_now_time('-')  # 获取当前时间 2020-12-06 00:00:00

tool.date_to_time_stamp('2012-01-01 00:00:00')  # 时间字符串转为时间戳
tool.time_stamp_to_date(1732312234)  # 时间戳转为时间字符串

格式转换

tool.json_dumps({"test": "python字典"})  # 字典转json
tool.json_loads('{"test": "python字典"}')  # json转字典
tool.xml_to_dict('<xml><data>字符串</data></xml>')  # xml转成python字典

http请求

tool.http_client(url='', data={}, method='GET')  # get请求
tool.http_client(url='', data={}, method='POST')  # post请求

tool.get_cookies(url='接口地址', data={}, method='GET')
tool.get_cookies(url='接口地址', data={}, method='POST')

tool.trans_data_to_url(url='接口地址', data={})  # 把参数拼接到url上

dubbo接口

tool.dubbo_args('参数1', '参数2', '参数3')  # dubbo接口参数
tool.invoke_dubbo('地址', '端口', '服务API名', '接口方法名', 'dubbo接口参数')  # 请求dubbo接口

其他

tool.logger('日志信息')
tool.get_ip_by_url('url地址')  # 获取ip
# 上传到pypi相关
python setup.py bdist_wheel --universal
twine upload dist/*

三、数据库语句(MySQL)

from prestool.PresMySql import SqlStr

sql = SqlStr()

查询语句

  • target不传时,为全部字段,即*
sql.select_sql_str(table='table1', where={'id': 1, 'name': '张三'})
 select *
 from table1
 where id = 1
   and name = '张三';
  • target=[i1,i2,i3]时,为相应字段
sql.select_sql_str(table='table1', target=['a', 'b', 'c'], where={'id': 1, 'name': '张三'})
sql.select_sql_str(table='table1', target=['a', 'b', 'c'], order={'age': 'desc', 'score': 'desc'})
select a, b, c
from table1
where id = 1
  and name = '张三';
select a, b, c
from table1
order by age desc, score desc;

更新语句

  • target为要更新的数据,为字典结构
sql.update_sql_str(table='table1', target={'name': '李四', 'age': 15}, where={'id': 1, 'name': '张三'}) 
update table1
set name='李四',
    age=15
where id = 1
  and name = '张三';

删除数据

sql.delete_sql_str(table='table1', where={'id': 1, 'name': '张三'})
delete
from table1
where id = 1
  and name = '张三';

插入数据

sql.insert_sql_str(table='table1', target={'id': 1, 'name': '张三'})
insert into table1 (id, name)
values (1, '张三');

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prestool-0.0.27-py2.py3-none-any.whl (9.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file prestool-0.0.27-py2.py3-none-any.whl.

File metadata

  • Download URL: prestool-0.0.27-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for prestool-0.0.27-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3866bdb9109fd807f8f29b867a3cd6f2ad1f29d496bcc3b56263df7253365d79
MD5 a1d2fc65e28ca5b60e3b518883d5ead4
BLAKE2b-256 42782583cdb4834f0838aad54dfb59c71bc8ac33d565368f87d20408cb4cb892

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