def

test5

三世轮回 提交于 2020-10-10 05:36:39
arr1 =[11,22,33] arr2 =[44,22,33] arrSame = [] arrOneHaveTwoHaveNot = [] arrOneHaveTwoHaveNot1 = [] # 获取内容相同的元素列表: for item in arr1: for iter in arr2: if(item==iter): arrSame.append(iter) #获取arr1 和 arr2 中内容都不同的元素: for item in arr1: oneHas = 0 for iter in arr2: if(item!=iter): oneHas = 0 continue else: oneHas = 1 break if(oneHas == 0): print(item) arrOneHaveTwoHaveNot.append(item) i =3 for item in arr2: oneHas = 0 for iter in arr1: if(item!=iter): oneHas = 0 continue#中断for循环 else: oneHas = 1 break#跳出for循环 if(oneHas == 0):#判断是否为0 print(item) arrOneHaveTwoHaveNot1.append(item) #打印两位数: arr1=

pywinauto客户端自动化---窗口等待方法

我与影子孤独终老i 提交于 2020-10-10 04:17:56
  我们在做web和app的ui自动化过程中,常用到等待机制,那客户端自动化有这个方法吗?python这么强大,肯定是有方法解决的 等待机制 pywinauto等待有两种方法: 方法一: wait() wait_for:表示可以选择窗口状态 timeout:超时时间 retry_interval:表示重试间隔 def wait(self, wait_for, timeout=None, retry_interval= None): """ 等待窗口处于特定的状态 * 'exists' 表示窗口是一个有效的句柄 * 'visible' 表示窗口不隐藏 * 'enabled' 表示该窗口未被禁用 * 'ready' 表示窗口可见并已启用 * 'active' 表示窗口处于活动状态 timeout:表示超时 retry_interval:表示重试间隔 """ check_method_names, timeout, retry_interval = self. __parse_wait_args (wait_for, timeout, retry_interval) wait_until(timeout, retry_interval, lambda : self. __check_all_conditions (check_method_names, retry_interval))

django中的懒加载机制

此生再无相见时 提交于 2020-10-10 04:16:45
懒加载在前端中的意义: 懒加载的主要目的就是作为服务器前端的优化,减少请求次数或者延迟请求数。 实现原理: 先加载一部分数据,当触发某个条件时利用异步加载剩余的数据,新得到的数据不会影响原有数据的显示,同时最大幅度的减少服务器端资源耗用。 实现方式:1. 第一种时纯粹的延迟加载,使用setTimeOut和setinterval进行加载延迟。      2. 第二种是条件加载,符合某种条件,或是触发某些事件才开始异步加载。      3. 第三种是可视区加载,仅记载用户的可视区域,这个主要监控滚动条来实现,一般会根据用户看到某些图片前的一段距离时开始进行加载,这样就可保证用户下拉时正好可以看到加载完毕后的图片或是内容。 django中的懒加载的方法: 1.settings懒加载 配置文件上可能会用到其他模块,那么就有可能导致循环引用。django的配置采用了懒加载机制,或者说是延迟加载。根据from django.conf import settings查看得知: 所谓的延迟加载,就是在需要用到的时候在加载。一般手段有代理类,线程。计时器。Django中的lazyObject代理类。加载函数是_setup函数,当获取属性时才会去加载。 settings = LazySettings() class LazySettings(LazyObject): def _setup(self,

python爬取拉勾网数据并进行数据可视化

Deadly 提交于 2020-10-10 00:39:57
爬取拉勾网关于python职位相关的数据信息,并将爬取的数据已csv各式存入文件,然后对csv文件相关字段的数据进行清洗,并对数据可视化展示,包括柱状图展示、直方图展示、词云展示等并根据可视化的数据做进一步的分析,其余分析和展示读者可自行发挥和扩展包括各种分析和不同的存储方式等。。。。。 一、爬取和分析相关依赖包 Python版本: Python3.6 requests: 下载网页 math: 向上取整 time: 暂停进程 pandas:数据分析并保存为csv文件 matplotlib:绘图 pyecharts:绘图 statsmodels:统计建模 wordcloud、scipy、jieba:生成中文词云 pylab:设置画图能显示中文 在以上安装或使用过程中可能读者会遇到安装或导入失败等问题自行百度,选择依赖包的合适版本 二、分析网页结构 通过Chrome搜索'python工程师',然后右键点击检查或者F12,,使用检查功能查看网页源代码, 当我们点击下一页观察浏览器的搜索栏的url并没有改变 ,这是因为拉勾网做了反爬虫机制, 职位信息并不在源代码里,而是保存在JSON的文件里,因此我们直接下载JSON,并使用字典方法直接读取数据.即可拿到我们想要的python职位相关的信息, 待爬取的python工程师职位信息如下: 为了能爬到我们想要的数据

python实现爱奇艺登陆的密码RSA加密

爷,独闯天下 提交于 2020-10-09 08:56:26
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 加企鹅群695185429即可免费获取,资料全在群文件里。资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等 本期,笔者通过Python实现对大麦网近期全国演唱会数据进行爬取,通过分析,我们发现大麦网属于Python爬虫策略中“中等型”难度网站,演唱会数据封装在json文件中。因此,我们简单的通过requests、json就可以将数据爬取出来,后期通过pandas进行数据筛选并保存至Excel文件中。 1.目标网站分析 检查一下看xhr中有没有我们需要的数据。 很好,就在xhr中用json封装了数据。 2.构造相应的Request URL request url中只有一个参数变化,那就是“Page=”这个选项变了,简单了😄,一共6页,直接循环构造了。 for i in range(1,7 ): url =f ' https://search.damai.cn/searchajax.html?keyword=&cty=&ctl=%E6%BC%94%E5%94%B1%E4%BC%9A&sctl=&tsg=0&st=&et=&order=1&pageSize=30&currPage={i}&tn= ' # print(url) 3

linux面试题

若如初见. 提交于 2020-10-09 07:10:08
1、删除一个目录下的所有文件,但保留一个指定文件 比如环境如下:要保留sos.txt 其他全部删除 通过!取反操作 以上两种方式 grep查找 -v显示没有匹配到的内容 以下两种也可以 脚本中删除文件或目录时, 生产环境 的使用方法一般为: find . -type f -name “*.log” -mtime +15 | xargs rm -f 删除当前目录下以 .log 结尾的文件,且修改时间在 15 天以上的 find . -type d -name “*.heihei” -mtime +30 | xargs rm -rf 删除当前目录下以 .heihei 结尾的目录,且修改时间在 30 天以上的 2、已知 /tmp 目录下存在了 no1.txt 文件,如何执行命令才能把 /test/no1.txt 拷贝到 /tmp 下覆盖掉 /tmp/test.txt ,而让 Linux 系统不提示是否覆盖( root 权根下) 两种方法 (1)、\cp 作用是使用命令自身的意义 像cp是有命令别名的,实际系统中是cp -i (2)、取消其命令别名 (3)、使用命令的全路径来执行 不过这里的取消命令别名只是当前生效 怎么设置别名,下图 这里也是当前生效 如何全局有效,编辑/etc/profile文件,在最后加上 再重读下文件(#source /etc/profile),配置生效。 而只想

linux零基础入门----- 概念铺垫

馋奶兔 提交于 2020-10-09 04:19:42
Author: 想文艺一点的程序员 自动化专业 工科男 再坚持一点,再自律一点 CSDN@想文艺一点的程序员 来自朱有鹏老师的学习笔记 操作系统的基础概念 1.windows和linux的关系 操作系统 特点 windows 傻瓜式、好学习、工资低 linux / unix linux认为每一个用户都是专业人士,操作麻烦,学习比较难,免费的、开源的,linux性能好,可移植性好,好的设计理念 android 移动操作系统,android基于linux ios 很优秀,创造性,走钢丝 嵌入式操作系统 linux + WinCE 当前 消费电子Android,工业linux 补充: 微软这个公司一直在致力于做一件事: 让软件使用的更加简单,让编程更加简单。 思考:这是不是一件好事情? 好的一面:提升了我们的效率,让我们的生活更加简单。 坏的一面:让我们更少的关注更加本质的一面。 2.多机开发:双系统与虚拟机 为什么需要多机开发呢? 1.需要linux: 开发嵌入式程序,需要linux环境 2.需要windows:windows中有许多很好用的软件,如 notepad++ , SourceInsight 等等 所以我们需要双系统来进行开发。 解决办法: 第一种:双系统 不方便 第二种:虚拟机 方便,损失性能,与真机微小差异 第三种:两台电脑:不方便 我们现实中经常使用: 个人开发者

数据结构与算法:双端队列

孤人 提交于 2020-10-09 02:32:33
双端队列和普通队列不同的地方是既可以队首和队尾进行插入,同时也就可以从队首和队尾进行remove删除 ,同时不遵循先进先出或者先进后出的规则,这需要通过具体的算法实现来确定,这个数据结构的实现过程如下: class Deque: def __init__ (self): self.items = [] def isEmpty(self): return self.items == [] # front表示的是队列的右边,rear表示的是队列的左端。 def addFront(self, item): self.items.append(item) def addRear(self, item): self.items.insert(0, item) # remove方法都会具有一个返回值 def removeFront(self): return self.items.pop() def removeRear(self): return self.items.pop(0) def size(self): return len(self.items) 得解。 来源: oschina 链接: https://my.oschina.net/u/4281474/blog/4317351

「网易官方」极客战记(codecombat)攻略-沙漠-空中桥梁-air-bridge

独自空忆成欢 提交于 2020-10-09 00:28:53
(点击图片进入关卡) SOS!SOS! 我们需要一架直升机! 简介 农民被困。 我们需要帮助他们并清除雷区。 Grffin Baby宠物可以帮助我们完成这项任务。 它可以像抓物品一样抓起某个人, maxHealth < 0.1 * hero.maxHealth pet.carryUnit(unit,x,y) 带农民,然后用munchkin清除雷区。 默认代码 # 帮助农民逃跑。 def onSpawn(event): # 我们需要拯救三个农民。 remainingPeasants = 3 while remainingPeasants > 0: # 找到一个好位置。 pet.moveXY(40, 55) peasant = pet.findNearestByType("peasant") if peasant: # 把农民带到中间的通道。 pet.carryUnit(peasant, 40, 34) remainingPeasants -= 1 munchkin = pet.findNearestByType("munchkin") # Carry a munchkin to the fire traps: pet.on("spawn", onSpawn) # 战斗! 概览 Grinffin宠物的独特能力是“抓起”,只需要告诉它抓起谁,放到哪里。 thrower = pet

傀儡进程学习

浪子不回头ぞ 提交于 2020-10-09 00:19:58
0x00 前言 最近做了一道18年swpuctf的题,分析了一个病毒,正巧都用到了傀儡进程,就想着把傀儡进程学习一下。本文权当个人的学习总结了一些网上的文章,如有错误,还请路过的大佬斧正。 0x01 SWPUCTF -- GAME 进入main函数 先获取当前目录,再拼上GAME.EXE 进入sub_4011D0 首先寻找资源,做准备工作,进入sub_4012C0 1)检测PE结构 2) CreateProcessA 创建进程 3)GetThreadContext 得到进程上下文信息,用于下文计算基地址 4)sub_4016F0 到ntdll.dll里找到NtUnmapViewOfSection函数 5)VirtualAllocEx 跨进程,在目标进程申请空间 6)写入文件 7)SetThreadContext 恢复现场 8) 运行傀儡进程 我们来找找注入的程序 把GAME.EXE载入到010editor里,搜索"MZ" dump出来,就是刚刚注入到傀儡进程的程序了。 我们把它命名为 game2.exe 载到IDA里分析 发现是D3D绘制 之后的解题与本文关系不大,这里直接把官方的WP搬运来了 https://www.anquanke.com/post/id/168338#h3-16 通过字符串[Enter]可以跟踪到获取输入以及返回上一层的地 这里用了’ –