![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 57
洛城-sola
不忘初心,方得始终
展开
-
统信系统实战(1):安装pip3
该系统基于Linux,系统运行时资源占用小,用户界面设计的也挺好,所以用了几次之后觉得蛮喜欢的,这是我第一台Linux笔记本,所以不打算只用它访问网页,而是让它发挥出更多的作用。打开开发者模式后,打开终端,输入“sudo apt install python3-pip”,就能成功安装pip3。考虑到统信的安全性,那应该是这些会导致系统变更的模块都被“阉割”了,深怕会引起系统的不稳定性,差点要放弃。开始创建Django项目,在命令行中,我先输入。首先进入控制中心,进入通用,打开开发者模式。原创 2024-06-17 15:58:46 · 206 阅读 · 0 评论 -
Python3解决AES、Crypto安装问题
最开始使用的是 Crypto 模块from Crypto.Cipher import AES在变更环境之后发现无法安装Crypto。有人说使用Cryptodome 模块,尝试安装Cryptodome,但是一直无法成功今天终于查到正确的办法:pip install pycryptodomex安装时使用的名字,和在代码里调用的名字是不一样的,多了一个x,不知道是自己之前没注意,还是之前资料里没说清楚。使用了如下的引用:from Cryptodome.Cipher imp...原创 2021-04-25 09:46:07 · 1950 阅读 · 3 评论 -
用Python做一个安全攻防工具:端口嗅探器(8)
本章目标加上这章,下一章应该就能结束了。大家是否还记得GUI上的一个“复制全文”按钮和已经实现功能的“复制原文”按钮。之所以有“复制全文”按钮,是因为有些服务器开着端口,但并不会输出该云端运行的服务,所以可以提供端口参照。所以这一章就是实现:1、当端口是开启状态,但无运行服务的说明输出时,匹配一个常见服务参照并跟随输出;2、不影响 复制原文 按钮,实现复制全文按钮功能。步骤实施我找到了一篇博文:端口与服务对照表在目录下新建文件 PortText.py ,将博文里...原创 2021-02-07 20:31:52 · 863 阅读 · 0 评论 -
用Python做一个安全攻防工具:端口嗅探器(7)
传送门本系列原创博文传送门:用Python做一个安全攻防工具:端口嗅探器(1)用Python做一个安全攻防工具:端口嗅探器(2)用Python做一个安全攻防工具:端口嗅探器(3)用Python做一个安全攻防工具:端口嗅探器(4)用Python做一个安全攻防工具:端口嗅探器(5)用Python做一个安全攻防工具:端口嗅探器(6)本章目标本章的目标是优化,暂时发现的问题有以下几个:1、点击启动后,工具会卡死,直到结果出来2、结果还不能输出到大编辑框内3、编辑框的复原创 2021-02-01 17:20:13 · 991 阅读 · 3 评论 -
用Python做一个安全攻防工具:端口嗅探器(6)
传送门本系列原创博文传送门:用Python做一个安全攻防工具:端口嗅探器(1)用Python做一个安全攻防工具:端口嗅探器(2)用Python做一个安全攻防工具:端口嗅探器(3)用Python做一个安全攻防工具:端口嗅探器(4)用Python做一个安全攻防工具:端口嗅探器(5)本章目标利用PySide2的信号和槽,在点击了GUI上的“启动”按钮后:1、从界面上获得各项输入的参数数据2、对参数进行转换和输出3、进行合理范围判断,对于异常的数据进行弹窗处理步骤实施原创 2021-01-29 20:22:38 · 581 阅读 · 2 评论 -
Airtest实战(一):部署iOS-Tagent和设置代理
iOS-Tagent 的根本是 WebDriverAgent,仔细看,会发现iOS-Tagent会比WebDriverAgent简略很多。iOS-Tagent其实就是WDA的优化版本。iOS-Tagent使用git clone https://github.com/AirtestProject/iOS-Tagent.git下载然后通过Xcode打开,做相关设置,点击运行后发现有很多...原创 2020-04-27 15:09:55 · 8568 阅读 · 9 评论 -
Airtest实战(二):Mac安装Airtest
首先打开Airtest主页:http://airtest.netease.com在左边会出现下载按钮:这个版本刚好是我需要的,我就点击DOWNLOAD按钮。进入到下载页。同意服务条款。自然是选择允许。下载后时一个dmg文件,打开后将AirtestIDE拖到Applications中,拷贝后,在启动台中出现一个应用图标:这样就代表安装成功了。点击打开,先说验证,那就验证,验证成功后问是否打开,点击打开,然后就没下文了。啥,没下文了?试了几次,原创 2020-05-27 15:38:33 · 3344 阅读 · 0 评论 -
用Python做一个安全攻防工具:端口嗅探器(5)
本篇目标这一篇博文主要目标是讲解使用PySide2写界面时遇到的一些注意点。下一篇再开始在代码里实践PySide2的信号槽机制。具体解说界面代码为了方便讲解,先将上一篇的代码粘贴如下:...原创 2021-01-26 11:43:48 · 493 阅读 · 1 评论 -
用Python做一个安全攻防工具:端口嗅探器(4)
本篇目标本篇将对UI进行优化,如果还有篇幅,则尝试引入PySide2的signal、slot机制。UI优化方向在于优化交互,使得界面更容易让人理解,并引入QGroupBox、QBoxLayout进行布局的管理。布局优化先使用QGroupBox、QBoxLayout进行布局上的优化。首先需要将控件放入到QBoxLayout的布局控件里。在最开始设计的UI原型上,分成了上下两大块,下面那块,又分成了左右两边。其中QVBoxLayout是纵向布局,QHBoxLayout是横向布局。原创 2020-12-31 19:42:13 · 806 阅读 · 1 评论 -
用Python做一个安全攻防工具:端口嗅探器(3)
阶段目标这一篇开始使用PySide2来搭建端口嗅探器的GUI。说实话,我有点小兴奋,因为又是一个新的领域。花了一个小时设计了一个用户界面,如下:这算是我们的阶段性目标,就是这系列博文看完的时候,需要实现大概这个样子的小工具。好了,接下来摩拳擦掌开始吧!PySide2安装第一步,自然是先安装PySide2。普通安装pip install pyside2使用清华源安装pip install -i https://pypi.tuna.tsinghua.edu.cn/si原创 2020-12-30 20:08:53 · 852 阅读 · 0 评论 -
用Python做一个安全攻防工具:端口嗅探器(2)
这一篇主要实现端口的自动遍历。根据端口的百科资料,一个ip的可用端口数是 2^16 = 65536 。那么遍历一个ip的端口,就需要调用那么多次端口访问。因为经常要调用端口访问的代码块,我们先把这部分代码提取成一个函数。# coding=utf-8import socketdef port_search(ip, port): address = (ip, port) # 地址必须是一个元祖,第一个是str,第二个是int client = socket.socket(原创 2020-12-28 17:00:05 · 933 阅读 · 0 评论 -
用Python做一个安全攻防工具:端口嗅探器(1)
引言今天是2020.12.26,马上要到2021了,这几天打算用PySide2做一个最简单的安全攻防工具,给2020年收个尾吧。在这里先说明,我现在对PySide2和安全攻防基本上都是出于一无所知的状态,所以通过这篇或者这一系列(如果一篇无法结束)的博文,大家可以跟我一起学习。笔者以前在测试开发团队里推行的是Tkinter,因为它门槛低,是python的内置模块,能够快速出成果,但是做出来的效果有些LOW,所以这次选择用一个看起来更加牛逼些的模块来做GUI。那为什么要用PySide2呢?因为原创 2020-12-26 19:14:20 · 2009 阅读 · 0 评论 -
Airtest实战(六):结合unittest测试框架
前言和思路Airtest提供了好几个assert断言方法,但是断言方法必然会带来程序中断。有人可能会觉得中断了问题不大,少量的测试代码问题确实不大,及时中断,及时发现问题。但若是很多的测试用例,那中断反而会导致测试时间大大延长。这样就必须选用一个测试框架来组织执行测试用例。在有些资料里,建议我们捕捉异常,就是try--catch的方式,但这个未免有些麻烦。原本考虑了pytest+allure,发现allure在airtest里是没有必要的,因为airtest运行后会自动产生一份格式优美的测试报告原创 2020-09-22 19:03:23 · 2313 阅读 · 3 评论 -
Airtest实战(五):安卓测试脚本示例
环境搭好了,看了下说明文档,一大堆一大堆的,我们就开始来个范例吧。我们先设定一个目标,完成我们公司的一款主打app的登录和退出。1、新建一个项目ps:第一次打开的时候就已经新建了个未命名的项目可以继续在这个基础上编辑。2、将apk文件放入air文件夹里apk的文件名字为“51gjj_full_V8.9.5.0907.apk”,这个名字后面要用到。文件放在这个文件夹里,是同级目录,使用相对目录加载会比较方便。3、连接手机。将手机连接上电脑后,在shel.原创 2020-09-17 19:40:44 · 4016 阅读 · 2 评论 -
Airtest实战(三):编写第一个iOS设备脚本
本来想从第一个api开始一个一个学起,但是有可能会比较枯燥,就直接来写一个可以运行的脚本吧。系列文章会先从iOS这边开始讲,iOS的硬性门槛会比较高,包括Mac设备、以及第一篇第二篇文章里提及的环境安装。iOS讲完再开始讲Android设备操作。Android开放出的权限比较多,所以有更多的操作可以让大家选择,想想就是一件让人兴奋的事情。Windows暂时没考虑,博主这边公司的业务在Windows上占比较小,但主要还是看大家是否对这块感兴趣。好了,接下来开始精彩的表演,写下我们的..原创 2020-06-12 19:30:05 · 2889 阅读 · 0 评论 -
从零开始用Python实现股票量化交易之小白笔记(9)
不废话了,直接上成品的代码:#coding=utf-8from common import tsimport tusharets.set_ts_token()pro = tushare.pro_api()data = ''index_ts_code = '000300.SH' start_date = '20091201' end_date = '20191130'...原创 2019-12-19 21:11:40 · 3943 阅读 · 0 评论 -
从零开始用Python实现股票量化交易之小白笔记(8)
今天开始我们讲一下股票交易策略。所谓的策略,按我的理解,就是一套交易规则。什么时候买入,什么时候卖出。买入只有一个时机,就是出现买点。卖出有三个时机,一个是出现卖点,一个是出现止盈点,还有一个是止损点。好的策略还会考虑趋势,先判断当前是什么趋势,是多,还是空,还是横盘震荡。下面有一个策略:如果过去10年,每个月初进行一次判断,如果上个月沪深300指数涨了,按均分...原创 2019-12-18 21:29:24 · 3476 阅读 · 1 评论 -
Python使用精致小巧的LevelDB
之前在文章中提到过sqlite,因为说对于个人项目来讲,mysql有时候太过笨重,费用过高。这次也是一样,之前开发的大型网络项目,用的NoSql都是redis、MongoDB之类的,但是搭建个人项目时,没有用到分布式,就可以用到像LevelDB或者RocksDB这样的嵌入式数据库,精致小巧,占用非常少的系统消耗。首先是安装:pip install leveldb一般很快就安装成功了...原创 2019-11-27 14:28:03 · 913 阅读 · 0 评论 -
彻底解决Mac下Python的SSL各类报错
经常会遇到请求某个https或wss地址会校验ssl证书失败的情况。报错类似:ssl.SSLCertVerificationError:[SSL: CERTIFICATE_VERIFY_FAILED]certificate verify failed: unable to get local issuer certificate(_ssl.c:1056)与 wss://xxxxxx...原创 2019-11-01 17:33:14 · 4846 阅读 · 3 评论 -
量化交易学习笔记(3):社区发现算法
社交网络:由节点和边组成的结构。节点表示个人或组织,边表示用户和用户之间的关系,如果对这些关系强度进行区分的话,我们可以为每条边赋予一个权重,权值越大表示关系强度越大。社区(community):是指网络中的一些密集群体。每个社区内部的节点间的联系相对紧密,各个社区之间的连接相对比较稀疏。各社区节点集合彼此没有交集的称为非重叠型(disjoint)社区,有交集的称为重叠型(overlappin...原创 2019-10-22 19:47:25 · 730 阅读 · 1 评论 -
量化交易学习笔记(2):随机变量
定义在样本空间上的实值函数,称为随机变量。如果随机变量的函数值是实数轴上独立的点(有限个或无限个),则称为离散型随机变量。如果随机变量的函数值是实数轴上某个区间所有的点(区间可以是负无穷大到正无穷大),则称为连续随机变量。找了一篇比较好的文章,有图文,帮助理解:《随机变量》https://www.jianshu.com/p/2149deee83fe用一段代码来示例:...原创 2019-10-21 20:18:35 · 635 阅读 · 0 评论 -
Python函数之Lambda表达式
lambda表达式,在很多语言里(比如说谷歌的小儿子kotlin),称为语法糖。所谓的语法糖,就是这种语法让程序猿喜欢(可能部分人会因为不够直观而不喜欢),就像孩子喜欢糖果一样。在其他语言中,lambda的详细情况我不细讲,我这里就是稍微深入了解了下CPython的lambda。它的标准写法是这样的:变量=参数1[参数2[...]] :参数的表达式比如有这样的函数...原创 2019-10-18 20:26:32 · 490 阅读 · 0 评论 -
python安装talib
mac环境安装talib:brew install ta-libpip install ta-libwindows环境安装talib访问https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib下载对应版本的包直接安装:pip install TA_Lib‑0.4.17‑cp35‑cp35m‑win_amd64.whl在...原创 2019-09-03 16:35:08 · 927 阅读 · 0 评论 -
python3中使用md5加密
md5加密是一种常用的哈希算法。在php中,md5是一个系统函数,不需要在代码中做额外处理。(md5($str))在mysql中,md5也是一个系统函数,直接一句: select md5(value) 即可。但是在python3中,还是有一个不大不小的坑在那里。首先python3没有md5、sha1等哈希算法自己单独的库,它们均包含在一个叫 hashlib 这个库中。然后...原创 2019-03-11 11:29:04 · 2159 阅读 · 0 评论 -
python中如何快速获取当前小时、分钟、日期等数据
之前自己一直有个误区,以为要获取这些数据必须从time模块的方法里取:就是先获取当前的时间戳,然后按格式输出时间。后来觉得作为那么容易使用的python语言,怎么可能会那么麻烦,花了点时间查阅相关资料,发现有两个可能的方向:1、time中存在struct_time结构,保存时分秒等所有属性;2、datetime模块中有简洁的方式。第一种方法的使用方式如下:1、打开终端...原创 2019-03-11 11:22:57 · 57539 阅读 · 0 评论 -
Mac下设置PYTHONPATH
Mac里默认安装py2.7,但是到2020年1月,2.7就不再维护了,于是尽快升级到3.7为妙。使用brew安装了3.7,也安装了pip3(至于如何安装,请自行寻找文章),但是在运行pip3时,就会出现一堆报错,看内容就是说现在默认是指向2.7的site-package的,而不是3.7,所以需要先“unset PYTHONPATH”.但是unset只是说这一次启动后unset了,下一次启动...原创 2019-03-04 23:47:32 · 9052 阅读 · 1 评论 -
从零开始用Python实现股票量化交易之小白笔记(5)
如上一篇笔记所述,这篇笔记用于记录如何遍历保存日线(前复权)数据。按以下步骤实现:1、使用mysql取得所有股票代码和上市日期,返回值是一个二维数组;2、开始遍历股票,使用for in;3、查找具体股票在stock_daily_qfq表中最大的交易日期;4、开启while循环,将日期转化为数值;一年一年地获取日线数据并保存;5、当开始时间大于当前日期时,结束while循环,...原创 2019-01-28 17:07:34 · 5667 阅读 · 0 评论 -
从零开始用Python实现股票量化交易之小白笔记(4)
这篇笔记主要记录对当前项目的一些代码结构上的优化,并选定获取的接口开始获取日线数据。笔者在项目里,将数据库和ts配置相关的代码做了抽取,放在common文件夹下。/common/db.py #获取本地数据库连接/common/ts.py #设置tushare的token,也可获取engine抽取完后,整个代码变成如下:/quantization/load_stock...原创 2019-01-26 19:17:48 · 9341 阅读 · 7 评论 -
从零开始用Python实现股票量化交易之小白笔记(3)
这一篇用来讲述如何将从接口获得的dataframe结构的数据保存到mysql。安装mysql使用的是brew,这个之前已经安装过了,不细讲,大家可以到网上寻找安装的教程。有个注意点就是建议大家要指定版本安装,最新的mysql现在支持还没有完全跟上,会比较麻烦。我的mysql版本是5.7,大家可以参考。然后我们要安装sqlalchemy。>> pip insta...原创 2019-01-15 16:14:24 · 8081 阅读 · 17 评论 -
python操作mysql数据库
python操作mysql数据库PyMySql驱动关于数据库操作,在python中大同小异,都是先出实话conn连接对象,然后获取游标,使用游标来执行语句,然后操作游标来获取结果,如果操作了数据,就使用conn对象进行提交。PyMySql驱动mysql是非常常见和使用频率很高的数据库,python中有很多驱动可以用来操作mysql,这里强烈推荐使用pymysql库(PyMySql驱动),安装...原创 2019-01-07 19:00:06 · 277 阅读 · 0 评论 -
Python常见异常及处理
在写小白写量化交易系列博客的时候,发现自己对try还是有些薄弱,为自己补了些课,大家随意。 关于异常,以下为一篇比较全的列表:https://www.cnblogs.com/bactiy/p/10103036.html再一篇是比较常见的异常列表:https://www.cnblogs.com/testlife007/p/6025557.html有人写了一篇关于try-exc...原创 2019-01-11 20:17:42 · 360 阅读 · 0 评论 -
从零开始用Python实现股票量化交易之小白笔记(2)
这一篇笔记开始讲tushare,这个很强大,一篇讲不完,那就下一篇继续讲。这一篇的目标是调通它的第一个接口。这个工具类库是由挖地兔社区开发和维护的,大家可以在微信里添加好友-公众号,然后关注他们的公众号。这个类库的功能很清晰:从各个地方爬取数据,清洗,结构化,然后将数据提供给使用方,也就是我们。查看http://tushare.org/trading.html的说明后,发现有部分接...原创 2019-01-11 19:50:11 · 9714 阅读 · 6 评论 -
实用Python库大全
网络urllib -网络库(stdlib)。requests -网络库。grab – 网络库(基于pycurl)。pycurl – 网络库(绑定libcurl)。urllib3 – Python HTTP库,安全连接池、支持文件post、可用性高。httplib2 – 网络库。RoboBrowser – 一个简单的、极具Python风格的Python库,无需独立的浏览器...原创 2019-04-12 17:52:50 · 759 阅读 · 0 评论 -
从零开始用Python实现股票量化交易之小白笔记(7)
续上一篇笔记。下载数据的时候发现很慢,于是优化了数据表stock_daily_hfq,将ts_code从text类型变更为varchar(20),并加了普通索引。数据很快就更新完了,从tushare中我获取到了将近800万条数据。然后我们做一次“普通”的机器学习。我选择用sklearn机器学习库中的SVM,全称为Support Vector Machine(支持向量机)。...原创 2019-04-22 00:45:25 · 4842 阅读 · 0 评论 -
从零开始用Python实现股票量化交易之小白笔记(6)
最近在忙一些要紧的大项目,有一段时间没有更新这个系列的文章了。回过头来,发现一切变化很大。变化一,我的电脑的mysql重装了,也就意味着以前建的数据库、数据表也不见了,幸好有这些系列文章在,可以使用以往的记录来恢复。变化二,python2.7将在2020年不再有社区进行维护,所以需要升级到python3,我的电脑里已经安装好了python3,那么只需要将需要的库重新安装一遍即可。至于安...原创 2019-04-17 17:31:29 · 3817 阅读 · 1 评论 -
python使用redis
linux服务器安装redis:yum install redismac电脑安装redis:brew install redis安装成功后,shell:redis-cli127.0.0.1:6379>这样server端就安装好了。这里还有个问题,就是发现服务器重启或者mac重启后,就会被服务拒绝(Could not connect to Redis at 12...原创 2019-07-16 19:38:28 · 752 阅读 · 0 评论 -
Windows搭建UI2开发环境
这里的UI2指的是网易游戏测试团队的大牛开发的UIAutomator2,它可以让我们使用python来开发安卓手机控制脚本。python需要先安装,安卓版本可以自己到www.python.org去下载。安装后,命令行可以运行python和pip命令。$>pythonPython 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [...原创 2019-07-16 17:13:30 · 869 阅读 · 0 评论 -
Django接收post请求报403(CSRF cookie not set)解决办法
按照restful接口风格,新建资源的接口请求方式应为post,结果发了post请求给django之后,报了个403forbidden。打印了里面的text内容,发现里面提到了“CSRF cookie not set”,这个的解决办法就是在setting.py文件中注释:'django.middleware.csrf.CsrfViewMiddleware',这个中间件是为了防止跨站请求...原创 2019-06-17 16:11:14 · 9766 阅读 · 6 评论 -
Django部署ECS实战
准备好ecs服务器,本地部署主机为windows系统。本地安装好WinSCP和SecureCRT,并配置ecs服务器登录。用WinSCP登录ecs后,在根目录新建文件夹 Django,文件夹自动给与777权限。将django项目整个拖入文件夹,该项目名称为qa_server。使用SecureCRT登录ecs,命令行输入python发现python版本为3.6,知道后面会有一...原创 2019-06-18 21:38:41 · 335 阅读 · 0 评论 -
阿里云centOS安装python3
今天买的一款共享型的ecs里只有python2.7,就想着安装一下python3,毕竟2.7今年之后就不会有社区支持了。比较方便的安装方法就是直接安装Anaconda3,安装之前需要安装一些依赖程序:sudo yum install readline readline-devel readline-staticsudo yum install openssl openssl-devel ...原创 2019-06-20 21:48:27 · 352 阅读 · 0 评论