python
DeltaTime
奔跑的橙子
展开
-
sql注入(7), python 实现盲注爆破数据库名, 表名, 列名
该python脚本根据之前介绍的盲注原理实现, 对于发送的注入请求没有做等待间隔, 可能给目标服务器造成一定 压力, 所以仅限于本地测试使用.原创 2023-10-14 14:22:15 · 598 阅读 · 0 评论 -
按固定时间间隔自动执行python脚本
这是一个使用 apscheduler 调度器模块来自动执行python脚本的案例.安装 apscheduler。原创 2023-10-07 13:13:37 · 199 阅读 · 0 评论 -
使用 python 检测泛洪攻击的案例
本案例只使用python标准库通过执行命令来监控异常请求, 并封锁IP, 不涉及其他第三方库工具.原创 2023-10-06 17:07:44 · 216 阅读 · 0 评论 -
使用关键字class与使用type()动态创建类的区别
函数动态创建类基本上是等效的,但它们的用途和适用场景有所不同。关键字来定义类,除非你有特定的需求需要在运行时动态创建类。在Python中使用。通常情况下,推荐使用。原创 2023-09-25 10:31:26 · 144 阅读 · 0 评论 -
python程序打包可执行文件
一 简单python程序打包1. 在windows系统打包 exe推荐在新建的虚拟环境中打包,这样打包后的文件占用空间比较少。创建虚拟环境:python -m venv test_evn激活虚拟环境:.\test_env\Scripts\activate如果在powershell中激活虚拟环境失败,执行 set-ExecutionPolicy RemoteSigned ,修改脚本策略即可。安装 pyinstaller:pip install pyinstaller打包成dll与exe文件原创 2021-06-29 16:28:35 · 194 阅读 · 0 评论 -
matplotlib 常用绘图
matplotlib 常用绘图import matplotlib.pyplot as pltimport pandas as pdimport numpy as np# 处理中文显示问题plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']# plt.rcParams['axes.unicode_minus'] = False# 2X2布局建立坐标fig, axs = plt.subplots(2, 2)ax1 = axs[0][0原创 2021-05-27 18:02:05 · 77 阅读 · 0 评论 -
pandas apply 元组分列
将自定义函数返回的元组进行分列,添加到DataFrame的新列中import pandas as pddf = pd.DataFrame([range(5), range(5, 10)]).Tdf.columns = ['a', 'b']def add(x, y): a = x - y b = x + y c = x * y return a, b, cdf[['计算1', '计算2', '计算3']] = (df.apply(lambda x: add(原创 2021-05-07 09:11:16 · 474 阅读 · 0 评论 -
从heidisql中已保存的数据库密码中查看明文密码
从heidisql中已保存的数据库密码中查看密码1. 找到heidisql保存的密码打开注册表,找到以下路径:HKEY_CURRENT_USER\Software\HeidiSQL\Servers点击某一个数据库,在右侧看到password,复制密码:2. 破解出明文秘密通过以下函数将密码转换为明文def heidisql(code): return ''.join( map(lambda x: chr(int(x, 16) - int(code [-1])), re.fi原创 2021-04-27 11:59:35 · 2101 阅读 · 0 评论 -
Python pymysql 批量插入与批量更新数据库
实际上批量执行的方法也适用于单条执行,只要二维里列表中只有一个一维列表即可批量插入到mysql# 批量插入可以先将数据组织为二维列表,其中每一行为一条记录。比如有student表字段为:stu_id, stu_name, stu_score# 准备数据insert_data = [ [1, '张三', 84], [2, '李四', 92], [3, '王五', 75] ]# 连接数据库host = '127.0.0.1' # 地址user = 'root' # 用户名p原创 2020-09-18 11:30:50 · 10888 阅读 · 0 评论 -
易于布局使用的GUI库 PySimpleGUI
以下是 PySimpleGUI 库的示例程序,输入网址返回源码:import PySimpleGUI as sgimport requests# 获取响应def get_response(url): try: if url: response = requests.get(url=url, timeout=10) return response except Exception as e: print原创 2020-08-21 08:25:34 · 755 阅读 · 0 评论 -
二维列表转一维列表
# 使用 sum 函数arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]res = sum(arr, [])print(res)# 使用标准库 itertools chain 方法import itertoolsres = list(itertools.chain(*arr))print(res)原创 2020-08-19 10:27:54 · 943 阅读 · 0 评论 -
set对列表去重并保持元素原来的顺序
vals = [3, 4, 5, 3, 2, 1]res = list(set(vals)) # set() 对列表去重res.sort(key=vals.index) # 根据原始列表元素本来的位置对新列表排序print(res)原创 2020-08-18 17:23:01 · 782 阅读 · 0 评论 -
将网页保存到本地mhtml文件,包含样式与图片
from selenium import webdriverdriver = webdriver.Chrome()url = ‘https://www.baidu.com’driver.get(url)resp = driver.execute_cdp_cmd(‘Page.captureSnapshot’, {})with open(‘baiduhome.mhtml’, ‘w’, newline=’’) as fp:html = resp.get(‘data’)if html:print(h原创 2020-08-14 18:09:01 · 1997 阅读 · 0 评论 -
python使用日志logging
为python程序中添加简单日志# 设置logformatter = logging.Formatter("[%(asctime)s]:[%(levelname)s]:%(message)s") ## 日志格式handler = logging.FileHandler("log.txt", encoding='utf-8') ## 日志文件与编码handler.setLevel(logging.DEBUG) ## 日志级别handler.setFormatter(formatter)log原创 2020-08-10 14:15:53 · 143 阅读 · 0 评论 -
python获取过滤文件夹下所有指定格式的文件
获取文件夹内所有文件名,过滤指定格式扩展名的文件def get_files() -> list: file_list = os.listdir('.') ## 获取当前文件夹内所有文件名 for file in file_list[::-1]: ## 逆序遍历 if file.endswith('.xlsx'): ## 判断文件的扩展名 continue file_list.remove(file) ## 过滤原创 2020-08-10 14:09:06 · 1759 阅读 · 2 评论 -
使用python创建文件夹
import osdir_name = '文件夹名称'if not os.path.exists(dir_name): ## 判断文件夹是否不存在 os.mkdir(dir_name) ## 创建文件夹原创 2020-08-10 14:03:09 · 239 阅读 · 0 评论 -
使用xlwings读取excel表格内所有已使用的单元格
import xlwingsexcel_app = xlwings.App(visible=False, add_book=False) data = [] try: book = excel_app.books.open(excel_file) sheet = book.sheets['Sheet1'] data = sheet.range('A2').expand().value ## 跳过第一行表格标题,从A2行开始 exc原创 2020-08-10 13:55:41 · 4414 阅读 · 4 评论 -
使用python将文字转换为语音朗读
1. 使用 win32comimport win32com.clientspeaker = win32com.client.Dispatch("SAPI.SpVoice")speaker.Speak("文字转语音")2. 使用 pyttsx3需要注意的是直接使用pip安装最新版pyttsx3可能会报keyerror,可以更换版本,安装 pyttsx3 的2.71版本进行测试。import pyttsx3engine = pyttsx3.init()engine.say('文字转语音')原创 2020-08-10 13:46:54 · 895 阅读 · 0 评论