一个简单的 Python 库
Project description
项目简介
把一些常用的功能写成函数
函数大全
XiaoKang/
# 常用指令
├── 报错信息() # 发生报错时调用,可以格式化报错信息方便查看
├── 时间_文件_天() # 用于文件命名【2026-03-16】
├── 时间_文件_时() # 用于文件命名【2026-03-16_10】
├── 时间_文件_分() # 用于文件命名【2026-03-16_10-55】
├── 时间_文件_秒() # 用于文件命名【2026-03-16_10-55-28】
├── 时间_正常() # 不能命名文件,只能打印【2026-03-16 10:55:28】
├── 时间_日志() # 用于记录日志【2026-03-16 10:55:28.724013】
├── sqlite数据库操作 # sqlite数据库的操作
│ ├── 连接() # 连接指定文件的数据库
│ ├── 创建表() # 创建新表格在数据库
│ ├── 新增数据() # 新增的数据写入数据库,不会自动提交
│ ├── 读取数据() # 读取数据库数据
│ ├── 修改数据() # 修改数据库数据
│ ├── 执行SQL() # 直接执行sqlite
│ ├── 删除数据() # 删除数据库数据【懒狗还没写】
│ ├── 提交() # 保存到本地文件数据库
│ ├── 断开() # 断开连接,结束操作
├── shell # shell反弹
│ └── win1() # 反弹shell到nc -lvnp 端口(Windwows)
│ └── win2() # 反弹shell到nc -lvnp 端口(Windwows)
│ └── win3() # 反弹shell到nc -lvnp 端口(Windwows)
│ └── linux1() # 反弹shell到nc -lvnp 端口(Linux)
│ └── linux2() # 反弹shell到nc -lvnp 端口(Linux)
# 一些小工具
├── 截图() # 截取屏幕
├── 解析ip() # 输入域名列表,解析出多个ip
├── 查归属() # 输入ip列表,解析出归属
├── 获取title() # 输入url,获取title 和 状态码
├── 发送邮件() # 发送邮件到指定邮箱
├── 批量发送邮件() # 批量发送邮件到指定邮箱
#实用功能
├── 批量docx() # 从表格里面获取数据批量生成docx文件
└── 结束
函数使用方法
1.常用指令
1.1 报错信息()
讲解功能:在代码执行的时候,如果报错可以执行这个,查看详细的报错信息
示例代码:
try:
print('1'+1)
except:
print(BaoCuoXingxi('json'))
输出:
{
"报错类型":"<class 'TypeError'>",
"报错信息":"can only concatenate str (not \"int\") to str",
"报错文件":"C:\\xxx\\xxxx\\xxxxx\\test_1.py",
"报错行数":6
}
2.sqlite数据库操作
2.1 连接()
用于连接指定数据库文件,连接后在操作,文件可以不存在,不存在的文件会自动创建
输入格式:(sqlite 的 db文件 位置)
返回格式:(是否成功,提示信息)
列子:
a = sqlite数据库操作('xk.db')
b=a.连接()
print(b)
输出格式:(是否成功,提示信息)
(True, '数据库连接成功')
2.2 创建表()
在数据库中创建表格,设置字段格式,默认字段类型是“TEXT”
输入格式:
创建表(self, 表名: str, 字段: list, 字段类型: dict = {}, 字段默认值="TEXT")
表名:创建的数据库表名
字段:需要创建的字段列表,['A', 'b', 'c', 'D']
字段类型:字段类型字典,{'A': 'integer', 'c': 'real', 'D': 'bolo'},默认值TEXT
字段默认值:字段默认值,默认TEXT
返回格式:(是否成功,提示信息)
列子:
b=a.创建表(表名='Information', 字段=['A', 'b', 'c', 'D'], 字段类型={'A': 'integer', 'c': 'real', 'D': 'bolo'}, 字段默认值="TEXT")
print(b)
输出格式:(是否成功,提示信息)
(True, '创建成功')
2.3 新增数据()
新增数据可以快速循环写入多个数据。【需要提交才会保存】
输入格式:
新增数据(self, 表名: str, 数据: dict)
表名:新增数据的数据库表名
数据:新增的数据字典
返回格式:(是否成功,提示信息)
列子:
b=a.新增数据(表名='Information', 数据={'A': 1, 'b': 'b', 'c': 3.1415926, 'D': True})
print(b)
b=a.提交()
print(b)
输出格式:(是否成功,新增数据的序号)
输出格式:(是否成功,提示信息)
(True, 3)
(True, '事务提交成功')
2.4 读取数据()
读取数据库数据,设置查看的字段,匹配条件,显示多少行数据
输入格式:
读取数据(self, 表名: str, 查看字段: list = ["*"], 判断匹配: list = [], 显示行数: list = [])
表名:查询的数据库表名
查看字段:需要查看的字段,默认['*'],表示全部字段,['A', 'b', 'c', 'D'],表示只查看A、b、c、D字段
判断匹配:需要匹配的条件,默认[],表示不匹配,['A=1', 'and', 'b="2b"'],表示匹配A=1且b="2b",分隔是空格
显示行数:需要显示的行数,默认[],表示全部行,[0,10],表示显示从第0行后显示10行
返回格式:(是否成功,提示信息)
列子:
b=a.读取数据(表名='Information', 查看字段=['A', 'b', 'c', 'D'], 判断匹配=['A=1', 'and', 'b="b"'], 显示行数=[0, 1])
print(b)
输出格式:(是否成功,读取的数据[dict,dict])
(True, [(1, 'b', 21.45116, 0)])
2.5 修改数据()
修改已经存在的数据,设置匹配条件,和修改的数据。【需要提交才会保存】
输入格式:
修改数据(self, 表名: str, 查数据: list, 写数据: dict)
表名:修改数据的数据库表名
查数据:需要匹配的条件字典,{'A': 1, 'b': '2b'},表示匹配A=1且b="2b"
写数据:需要修改的字段字典,{'启动项': 2, '系统进程': 2, 'usb插拔记录': 2}
返回格式:(是否成功,提示信息)
列子:
b=a.修改数据(表名='Information', 查数据=[('A', '=', 1), 'and', ('b', '=', 'b')], 写数据={'c': 21.45116, 'd': False})
print(b)
b=a.提交()
print(b)
输出格式:(是否成功,提示信息)
(True, '修改成功')
(True, '事务提交成功')
2.6 执行SQL()
直接执行复杂或者固定的sql语句
输入格式:(sql语句)
返回格式:(是否成功,提示信息)
列子:
b=a.执行SQL('SELECT *,rowid "NAVICAT_ROWID" FROM "main"."Information" LIMIT 0,1000')
print(b)
输出格式:(是否成功,提示信息)
(True, [(1, 'b', 21.45116, 0, 1), (1, '2b', 3.1415926, 1, 2), (1, 'b', 21.45116, 0, 3), (1, '2b', 3.1415926, 1, 4)])
2.7 删除数据()【懒狗还没写】
输入格式:
返回格式:(是否成功,提示信息)
列子:
输出格式:(是否成功,提示信息)
2.8 提交()
提交存在变化的数据,比如:新增、修改、删除
输入格式:无输入数据
返回格式:(是否成功,提示信息)
列子:
b=a.提交()
print(b)
输出格式:(是否成功,提示信息)
(True, '事务提交成功')
2.9 断开()
断开数据库连接,防止抱死
输入格式:无输入数据
返回格式:(是否成功,提示信息)
列子:
b=a.断开()
print(b)
输出格式:(是否成功,提示信息)
(True, '数据库连接断开')
3.shell(shell反弹)
3.1 win1()
3.2 win2()
3.3 win3()
3.4 linux1()
3.5 linux2()
4.小工具
4.1 截图()
会直接显示你当前屏幕截图,全屏,自动适应分辨率
参数:
save_path (str|None): 保存路径,例如 C:\test.png,为None则不保存
width (int|None): 截图宽度,为None则全屏
height (int|None): 截图高度,为None则全屏
start_x (int): 起始X坐标
start_y (int): 起始Y坐标
a = 截图()
a.show()
4.2 解析IP()
输入域名,多线程调用多个DNS服务器解析域名ip
参数:
域名列表:每个域名一个元素
DNS:DNS服务器列表,默认使用常用DNS服务器
返回类型:返回数据类型【list】
a=解析ip(['www.baidu.com', 'www.sina.com.cn'])
print(a)
4.3 查归属()
查询ip的归属地,按顺序输出,记得自己去重
参数:[ip,ip,ip]
列子:
a = 查归属(['103.235.46.102', '103.235.46.115', '183.2.172.177', '110.242.70.57', '45.113.192.101'])
print(a)
输出:
[['103.235.46.102', '中国香港香港 百度云'], ['103.235.46.115', '中国香港香港 百度云'], ['183.2.172.177', '中国广东广州 电信'], ['110.242.70.57', '中国河北保定 联通'], ['45.113.192.101', '新加坡 百度云']]
4.4 获取title()【懒狗还没写】
4.5 发送邮件()
发送一封邮件
a = 发送邮件('XX@qq.com', 'XX@qq.com', 'POP3-KEY', '测试邮件标题', '测试邮件内容')
print(a)
4.6 批量发送邮件()
发送一堆邮件
a = 批量发送邮件('XX@qq.com', ['XX1@qq.com', 'XX2@qq.com'], 'POP3-KEY', '测试邮件标题', '测试邮件内容')
print(a)
5.实用工具
5.1 批量docx()
把表格里面的数据直接变成docx,实现批量自动修改,欢迎反馈bug
from xiaokang.p批量docx import 批量docx
docx模板路径 = "批量word报告\\{ceshi}.docx"
xlsx表格路径 = "批量word报告\\1.xlsx"
输出目录='批量word报告\\cs\\'
批量docx(docx模板路径, xlsx表格路径, 输出目录)
docx模板格式如下,每个变量都要用"{}"符号括起来
xlsx文件格式
每个表的表头就是docx里面的变量,文件名也是变量,可以自定义文件名
文件生成如下
文件内容如下
安装方法
pip install xiaokang
使用示例
导入函数会吧,不会自己学
依赖说明
目前没用使用其他依赖,都是用本地库
作者信息
作者:小康、米汤、鲁班
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xiaokang-1.2.7.tar.gz.
File metadata
- Download URL: xiaokang-1.2.7.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
709c183fcd913700b1d1f22b04ae4bf01f8a028ca68642b114345babe27adbc5
|
|
| MD5 |
bdba3e84d74cbce66606d652b3383f4d
|
|
| BLAKE2b-256 |
b7409191a387a6a3aeaeb39a0f958978a585dc2089522d8189af85c09eda48f4
|
File details
Details for the file xiaokang-1.2.7-py3-none-any.whl.
File metadata
- Download URL: xiaokang-1.2.7-py3-none-any.whl
- Upload date:
- Size: 27.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbb1e0ff262556b8a211138fe47d95e5e5b67bcee71ada3e25bd59f612e3cc90
|
|
| MD5 |
9056dc7f078102099dafcc662ebe62ed
|
|
| BLAKE2b-256 |
eeeb2cf43a2156728119397ed963e6fdbad091cd571028fc033bf5f7fa04dc0d
|