自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (2)
  • 收藏
  • 关注

原创 微信数据库解密

微信数据库解密、聊天记录提取

2022-10-04 16:22:51 17743 4

原创 Nginx根据post参数转发请求 (OpenResty)

最近有个需求,需要nginx根据POST参数将请求转发到不同的后端,调研后决定使用OpenResty(Nginx + Lua)作为代理服务器。写个小Demo:location /test { set $target_url ''; rewrite_by_lua_block { if "POST" == ngx.req.get_method() then ngx.req.read_body() local args = ngx.req.get_body_data() --

2022-03-29 00:06:05 4541

原创 mac环境下安装pysvn

可以从下载页下载对应版本的pysvn:https://pysvn.sourceforge.io/downloads.html之后双击打开安装即可,不需要再用pip安装。需要注意的是,如果安装时提示chdir失败,而后发现/Library/Frameworks/Python.framework路径不存在,则可能是python安装路径有问题,重新安装python可解决此问题。另外,摘录python官方文档中的一段话:Apple 提供的 Python 版本分别安装在 /System/Library/F

2021-11-09 19:13:49 778

原创 linux ssh登录 Permission denied (publickey)

可能的原因:Linux上ssh服务没有开密码登录目前发现两种解决方案:打开密码登录执行sudo vim /etc/ssh/sshd_config, 找到PasswordAuthentication一项,将no改为yes添加免密登录在~/.ssh/目录下,编辑authorized_keys文件,将本地公钥文件中的内容添加进去。(我本地是id_rsa.pub)另,强制ssh提供rsa密钥:ssh -o HostKeyAlgorithms=ssh-rsa user@examp

2021-07-03 16:03:04 1523 1

原创 python mock的简单使用

先记录今天用到的,以后再整理。假设要测试的方法:def target(): wb = openpyxl.load_workbook('test') ws = wb['sheet'] ws.values ...可以看到,target中使用了openpyxl读取excel文件,然后处理,测试的时候不想再读取文件了,需要mock下openpyxl.我需要先创建一个类,要求支持以[]的方式读取值,而且返回的values必须是一个iterator,每一项是个元组:class

2021-02-06 22:30:38 283

原创 google风格docstring中同时返回多个值(一个元组)的情况

白天在statckoverflow上看到的一种格式(原链接不找了):def say_hello(name='world', age=2): """say hello to someone Say hello to the people who have the name you given. Args: name (str): The people's name you want to greet. world by default. Retu

2020-12-25 21:02:52 318

原创 Sphinx根据google风格docstring生成文档

安装Sphinxpip install sphinx使用1. 假设存在如下test.pydef say_hello(name='world'): """say hello to someone Say hello to the people who have the name you given. Args: name (str): The people's name you want to greet. world by default. "

2020-12-25 20:42:54 972

原创 Django ORM获取字段的verbose_name

假设存在如下模块:class Article(models.Model): title = models.CharFiled("文章标题", max_length = 50) ...获取title字段的verbose_name:Article._meta.get_field('title').verbose_name若要获取Article类的verbose_name可直接用:Article._meta.verbose_name参考:https://www.cnblogs.

2020-12-20 21:11:42 1260

原创 ubuntu下mysql8.0.21安装及修改root用户密码

1. 安装$ sudo apt install mysql-server2. 登录mysql查看用户名密码:$ sudo cat /etc/mysql/debian.cnf # Automatically generated for Debian scripts. DO NOT TOUCH![client]host = localhostuser = debian-sys-maintpassword = HW15YXV24Ionvnadsocket = /var/r

2020-10-19 17:20:26 680

转载 vscode设置Python虚拟环境

1. 查看虚拟环境位pipenv pipenv -venvconda conda env list2. 将虚拟环境路径加入vscode配置文件:2.1 按下快捷键ctrl + shift+ p, 输入settings,打开Open Sttings(JSON)2.2 将之前得到的Pipenv环境路径添加进去“python.venvPath”: “C:\path\.virtualenvs”3. 重启4. 选择虚拟环境按下ctrl + shift +p打开命令面板, 输入Pyth

2020-09-19 11:53:52 2717 1

原创 Python装饰器

文章目录一、装饰器的实现二、装饰器到底干了什么三、有多个装饰器时,装饰器对函数的包装顺序四、装饰器的应用一、装饰器的实现这个问题可以参考廖老师的文章,很详细了,此处只简单举例,不做详细介绍。文章链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017451662295584def log(f): def wrapper(*args, **kw): print("log") return f(*args

2020-08-30 21:05:47 187

转载 Centos下vsftpd3.0.3编译安装

本篇在brishenzhou的基础上修改:https://www.cnblogs.com/brishenzhou/p/6141800.html安装依赖yum install pamyum install pam-develyum install db4-utilsyum install gcc下载安装wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gztar -zxf vsftpd-3.0.3.tar.gzcd

2020-07-21 16:53:09 1076

原创 Scanner调用next方法时报错NoSuchElementException原因,及对Scanner的一些总结

对象new Scanner(System.in)调用close()后,如果又使用重新创建了对象,在调用next方法时报错NoSuchElementExceptionjshell> Scanner s = new Scanner(System.in);s ==> java.util.Scanner[delimiters=\p{javaWhitespace}+] ... \E][infinity string=\Q∞\E]jshell> s.next();Hello$2 ==&..

2020-06-21 21:20:42 1298 1

原创 使用Python暴力破解压缩文件密码

有一个加密的压缩文件,只记得密码前缀,但知道结尾是4位数字,想用Python暴力破解下。刚开始想用Python标准库zipfile实现,先创建个密码为password的压缩文件test来测试:from zipfile import ZipFilezf = ZipFile("test.zip", "r")zf.extractall(pwd="password")发现错误:TypeEr...

2020-05-07 21:58:45 1685

原创 使用PyPDF4和PIL修改PDF文件中的图片

继上篇从PDF中提取图片数据之后,我们看如何使用PIL修改图片并写入到PDF文件。先放两个相关链接:使用PyPDF4提取pdf文件中的图片PIL从内存中加载图片先放代码:import PyPDF4from io import BytesIOfrom PIL import Image, ImageDrawdef covertImg(bimg): img = Image.o...

2020-04-06 17:22:00 1535

原创 使用PyPDF4提取pdf文件中的图片

首先,打开pdf文件, 检查是否加密:import PyPDF4pdf = PyPDF4.pdf.PdfFileReader("filename")pdf.isEncrypted如果pdf.isEncrypted返回False,说明未加密,可以继续操作;若返回True,则需要使用pdf.decrypt(password)解密后才能操作。其次,找到图片所在页,使用pdf.getPage(...

2020-04-06 13:58:08 4020 2

原创 Linux笔记:后台运行, fg, bg, jobs

后台执行程序/脚本/命令我们知道,在命令后添加&可以使程序后台执行,如:python test.py &其支持的格式有:command &/path/to/command arg1 arg2 &/path/to/long/script/name.sh arg1 &需注意的是,如果要执行的程序要从键盘输入内容,则不要添加&来后台执行程...

2020-03-31 23:26:59 283

转载 启动终端后自动进入conda环境

可以通过配置auto_activate_base关闭自动进入conda基础环境:conda config --set auto_activate_base false如要开启,将其设为true就可以了:conda config --set auto_activate_base true另:可通过conda config -h查看帮助信息,通过conda config --show查看全部...

2020-03-31 22:58:00 9246

原创 isinstance的一个坑

在使用unittest的时候,用到了assertIsInstance方法,该方法调用了isinstance方法,现有两个文件中的两个类:# test/c/a.pyclass A: pass# test/c/b.pyfrom a import Aclass B(A): pass其中目录结构如下:test |--c |--__init__.py ...

2020-01-05 11:02:07 324 1

原创 python调试第三方模块

有时候想知道某个功能是怎么实现的,就需要阅读源码了,调试是个好东西。但直接加断点调试,却跳转不到模块里。解决方案:把要调试的模块整个复制到项目下,再进行调试。这里使用vscode 以unittest为例:将整个unittest模块复制到当前工作目录下加断点,F5调试单步执行,可以看到直接跳转到main.py了,成功。...

2020-01-04 22:43:37 804

原创 SQLite DateTime type only accepts Python datetime and date objects as input.

publishtime = db.Column(db.DateTime, default=datetime.datetime.utcnow())或在实例化时传入:note1 = Note(publishtime=datetime.datetime.utcnow())就好啦。如果要传入本地时间可以用datetime.datetime.now()...

2019-12-15 18:04:21 2459 1

原创 python:# noqa

看flask源码时发现好多import后面都有# noqa注释,去查了下,是使用flake8进行代码检查时,不检查那一行的意思。在vscode中试了一下,使用pylint进行代码检查时报错:换成flake8:不提示错误了,去掉注释:...

2019-12-09 09:39:19 3537

转载 Linux命令行常用快捷键

快捷键 功能说明 tab 自动补全命令或路径 Ctrl+a 将光标移动到命令行行首 Ctrl+e 将光标移动到命令行行尾 Ctrl+f 将光标向右移动一个字符 Ctrl+b 将光标向左移动一个字符 Ctrl+k 剪切从光标到行尾的字符 Ctrl+u 剪切从光标到行首的字符 Ctrl+w 剪切光标前面的一个单词 ...

2019-12-06 14:21:31 139 1

原创 linux安装python3.8

花了一晚上,遇到各种坑,终于装好了,来记录下,可能不完全。1. 下载wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0rc1.tgz其它版本可以在https://www.python.org/ftp/python/中找到。2. 解压:tar -zxvf Python-3.8.0rc1.tgz3. 进入目录:cd Pyth...

2019-12-03 23:47:47 6325 9

原创 js时间戳与日期转换

当前时间转时间戳:> Number(new Date())1575362561702时间戳转日期var timestamp = '1575351167097'var date1 = new Date(parseInt(timestamp))var time = date1.toLocaleDateString() + ' ' +date1.toTimeString().subs...

2019-12-03 16:52:14 143

原创 Flask笔记:WTForms

文章目录使用Flask-WTF处理表单1. 安装2. 创建表单类3. 在模板中渲染表单3.1 传入表单实例3.2 在模板中渲染表单附:常用WTForms字段常用的 WTForms 验证器使用Flask-WTF处理表单WTForms 是一个使用 Python 编写的表单库, 它使得表单的定义、验证(服务器端) 和处理变得非常轻松。Flask-WTF 集成了 WTForms,使用它可以在 Flas...

2019-12-03 14:37:34 346

原创 js数据类型转换

ECMAScript中有5中基本数据类型:Undefined、Null、Boolean、Number和String,1种复杂数据类型Object.可以通过typeof操作符查看。如:var str = "String"alert(typeof str)alert(typeof(str))字符串转整形num = "0123"> num = "0123"'0123'> ...

2019-12-02 16:48:46 118

原创 笔记:flas请求处理

路由匹配一般格式:@app.route('goback/<int:year>')Flask内置的URL变量转换器转换器说明string不包含斜线的字符串(默认值)int整型float浮点数path包含斜线的字符串。static路由的URL规则中的filename变量就使用了这个转换器any匹配一些列给定值中的一个元素u...

2019-11-29 11:55:39 219

原创 python的另一种打印方式:pprint

如果要打印的数据是数组或者字典,结果往往是堆成一滩,非常不好辨认,这时候用pprint就好啦。话不多说,上代码:from pprint import pprintdata = [ {'cover': 'https://img3.doubanio.com/view/subject/l/public/s29871185.jpg', 'info': '马薇薇 / 黄执中 / 周玄毅 / 邱晨 ...

2019-11-26 22:29:44 236

原创 selenium无头模式(无界面启动)

selenium的无头模式是通过向浏览器传入参数实现的。对chrome浏览器和firefox设置大体相同。阅读源码发现,Options类里有个_arguments数组,每次调用set_argument都是向该数组中append一个字符串。设置的参数和具体的浏览器有关。对Chrome浏览器设置from selenium import webdriverfrom selenium.webdri...

2019-11-26 16:35:41 9965 1

原创 Linux学习笔记:Shell Script && ||

返回值在说&&和||之前,不得不提下返回值。shell中,一个命令如果成功执行会返回0,返回值会保存在变量$?中,可以通过echo $?查看,但需注意的是,该命令也会返回0,如:[light@localhost ~]$ lqbash: lq: 未找到命令...[light@localhost ~]$ echo $?127[light@localhost ~]$ ech...

2019-11-22 15:54:04 278

原创 Linux学习笔记:Linux解压缩与压缩

多个文件打包的压缩/解压缩要想将多个文件或目录压缩到一个文件,需要使用打包命令tar.解压缩先上结论,如果压缩文件扩展名是.tar.gz,使用:tar -zxv -f filename.tar.gz -C 欲解压到的目录(必须存在)tar -zxv -f filename.tar.gz # 直接解压到当前目录如果压缩文件扩展名是.tar.bz2, 使用:tar -jxv -f...

2019-11-20 11:33:33 177

转载 使用xpath获取指定标签下html内容

通常使用xpath我们直接定位到标签后, 使用/text() 或 //text()来获取标签对之间的文本值,但特殊情况下我们也需要获取标签本身含文本值, 操作如下:文件为html, 标签对结构如下:<table id='1h'>   <tr>     <td>Row value 1</td>     <td>Row value...

2019-11-19 11:04:27 2834

原创 centos 用户删除后遗留档案问题

上次学习find命令时发现-nouser和-nogroup参数用来查找没有用户名和组的文件或目录,于是新建test账户,在home下生成了test文件夹,然后使用userdel删除test账户,但不删除目录。执行ll命令, 显示如下:drwxrwxr-x. 4 1001 1001 36 11月 8 23:52 test可以看到,原来的test test已经被test的id 1001代替,...

2019-11-18 17:26:11 271

原创 Linux学习笔记:which whereis locate find

which本人所用环境为centos8which用来从PATH内寻找命令路径,如:$ which cd/usr/bin/cd$ which vim/usr/bin/vimwhereiswhereis 用来搜索指定名称的二进制文件,源码,和说明文件。常用参数如下:-b 只找binary格式的文件-m 只找在说明文件manual路径下的文件-s 只...

2019-11-18 11:54:39 178

原创 centos7、8开启网络配置

从网上看,虚拟机在安装时可以开启网络(没!看!到!一定是我只顾下一步了。。。)。有图形界面的话可以在界面操作,就不多说啦。在命令模式下编辑/etc/sysconfig/network-scripts下的配置文件就好,命令如下:$ cd /etc/sysconfig/network-scripts/$ lsifcfg-enp0s3$ sudo vim ifcfg-enp0s3 # 每个...

2019-11-16 18:35:10 2652

原创 Linux学习笔记:chgrp, chown, chmod

文章目录chgrpchownchmod在介绍这三个命令之前,首先要知道linux下文件属性与权限的相关知识。当我们使用ls -l命令的时候,可以看到如下信息:[test@localhost ~]$ ls -l总用量 0drwxrwxr-x. 2 test test 6 11月 8 21:29 test-rw-rw-r--. 1 test test 0 11月 8 21:29 tes...

2019-11-11 16:13:16 295

转载 Linux中rc的含义

在Linux中,最为常用的缩略语也许是“rc”,它是“runcomm”的缩写――即名词“run command”(运行命令)的简写。rc”是任何脚本类文件的后缀,这些脚本通常在程序的启动阶段被调用,通常是Linux系统启动时。如/etc/rc(连接到/etc/rc.d/rc)是Linux启动的主脚本,而.bashrc是当Linux的bash shell启动后所运行的脚本。“rc” (像是 “.c...

2019-11-11 13:08:55 1099

原创 centos whatis: nothing appropriate

看鸟哥的linux,提到了man -f man命令,执行后提示nothing appropriate。使用man man发现,man -f man相当于whatis man而whatis使用前需建立数据库,命令以centos 7为分割,7之前使用 makewhatiscentos 7及之后使用 mandb执行该命令,再使用whatis manok...

2019-11-08 10:10:43 499 1

原创 Linux修改时区

修改localtime文件这里有两种方法:第一种:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime第二种:ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2019-11-06 14:14:34 312

用 Python 和Pygame 写游戏 ---- 从入门到精通

用 Python 和 Pygame 写游戏 ---- 从入门到精通......

2017-10-11

XSS绕过技术

Cross-Site Scripting(XSS)绕过技术,来自论坛:法克论坛,作者:bystand

2017-10-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除