自研python常用工具库(prestool)

Posted preszang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自研python常用工具库(prestool)相关的知识,希望对你有一定的参考价值。

一、安装(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, \'张三\');

以上是关于自研python常用工具库(prestool)的主要内容,如果未能解决你的问题,请参考以下文章

上海控安自研国内文件漏洞扫描工具

小白网安工具自研图形化sqlmap调用脚本

淘宝自研标准化协议库XQUIC正式开源!

我,30岁了,还在为涨粉而抓耳挠腮,自研工具让我找到了方向。。。。

我,30岁了,还在为涨粉而抓耳挠腮,自研工具让我找到了方向。。。。

今晚19:00,淘宝自研标准化协议库XQUIC开源直播!