- 博客(106)
- 资源 (1)
- 收藏
- 关注
转载 UI自动化-图片验证码
import timefrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport ddddocr # 不支持python3.10path = "chromedriver.exe"browser = webdriver.Chrome(path)# 古诗文网登录链接url = "https://so.gushiwen.cn/user/login.aspx?from=http%3a%2f%2fs
2022-04-29 15:32:28 838
原创 python及pip中常用命令
pythonpip包升级信息:python -m pip install --upgrade pip(只是想升级下本地环境的pip版本)创建虚拟环境:python -m venv ceshi activate指定插件:python -m pytest test_*.py (把模块当作脚本来启动)pip查看pip版本:pip --version安装:sudo easy_install pip列出已安装的包:pip freeze、pip list导出requirements.txt:p
2022-04-28 23:19:40 470
原创 selenium基础问题
问题整理1.执行脚本提示:‘chromedriver’ executable needs to be in PATH下载Chromedriver,Chromedrive的版本要与Chrome浏览器版本相对应,地址:http://chromedriver.storage.googleapis.com/index.html2.将chromedriver.exe拷贝至谷歌浏览器目录(如 C:\Program Files\Google\Chrome\Application)以及python根目录3.将谷歌浏
2022-04-19 20:03:40 438
原创 python-task17-多态和多态性
1.多态:多态指的是一类事物有多重形态,(一个抽象类有多个子类,因而多态的概念依赖于继承)e.g:序列类型有多重形态:字符串、列表、元祖2.多态性:多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同的函数。在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条信息,不同的对象在接受时会产生不同的行为(即方法)也就是说,每个对象可以用自己的方式去响应共同的信息,所谓的信息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。总结:同一种事物的多种形态,动物
2022-03-23 08:22:39 134
原创 python-task16-文件read、readline、readlines、linecache
1.想输出某个文件的第n行import linecache# file_object = open('ipv6.wlist', 'r')text = linecache.getline('ipv6.wlist',2)print text2.read(),表示读取文件结束为止,它范围为字符串对象3.readline(),每次读出一行内容,所以,读取时占用内存小,比较适合大文件,返回一个字符串4.readlines(),读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素,但读
2022-03-23 08:22:24 1092
原创 python-task14-面向对象和面向编程的区别以及类属性实例的定义
python面向对象和面向编程的区别1.面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。2.面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决的步骤中的行为。举例子拿生活中的实例来理解面向过程和面向对象,例如五子棋,面向过程的设计思想就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画画,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤,9、输出最后结果
2022-03-23 08:22:03 224
原创 python-task13-None、Null与空字符‘‘什么区别
1.None表示空无一物,啥都没有存储空就是空,它不是整形,不是浮点数、也不是字符串,就是一个NoneType。所以在使用len(None)时候回报错,因为NoneType没有字符串才有的方法2.Null表示空无一物,啥也没有存储数据库中才使用Null在数据库查询是Null就等同于python中的None,表示什么也没有,是个空值注意在数据库表中如果存在空字符串,进行表关联操作时可能会出现空值放大的效果,导致表关联后出现了记录数超多。所以在数据库表或dataframe关联时,需要特别处理空字
2022-03-23 08:21:47 906
原创 python-task12-subprocess模块
subprocess模块模块的作用1.运行python的时候,我们都是在创建并运行一个进程,linux中一个进程可以fork一个子进程,并让这个子进程exec另外一个程序。2.需要通过python去执行一条系统命令或者脚本,系统的shell命令是独立于你的python进程之外的,每执行一条命令,就是发起一个新进程。其他类似于功能的模块os.systrmos.commandos.popen也可以调用系统命令,比较乱,于是推出subprocess,提供统一的模块来实现对系统命令或脚本的调用三种
2022-03-23 08:21:26 210
原创 python-task11-hashlib
hashlib模块(主要提供字符加密功能)1.md5.digest()与md5.hexdigest()之间的区别及转换md5.digest() ---->二进制md5.hexdigest() ----->十六进制2.已知 md5.hexdigest() 的结果求md5.digest()的结果convertMd5( '05c12a287334386c94131ab8aa00d08a') //能返回 '\x05\xc1*(s48l\x94\x13\x1a\xb8\xaa\
2022-03-23 08:21:05 886
原创 python-task10-configparser模块
作用作用:对配置文件的读写操作生成配置import configparser #引入模块config = configparser.ConfigParser() #类中一个方法 #实例化一个对象config["db1"] = {'conn': 'localhost', 'port': '3306', 'user': 'root', 'password': '123456',
2022-03-22 08:32:52 108
原创 python-task9-xml模块
xml概念XML是可扩展标记语言(Extensible Markup Language)的缩写xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,之前用来做接口(格式),同样也是可以增删查改1.可以创建xml文档2.可以遍历xml文档3.可以修改xml文件4.可以删除xml文档内容创建xml文件import xml.etree.ElementTree as ETnew_xml = ET.Element("namelist")
2022-03-22 08:32:30 117
原创 python-task8-json&pickle模块序列化
注意如果处理的是字符串,就可以使用json.dumps()和json.loads()如果处理的是文件,就可以使用json.dump()和json.load()json模块提供了四个功能:dumps、dump、loads、loadpickle模块提供了四个功能:dumps、dump、loads、loadimport pickledata = {'k1':123,'k2':'Hello'}# pickle.dumps 将数据通过特殊的形式转换位只有python语言认识的字符串p_str = pi
2022-03-22 08:32:16 145
原创 python-task7-os、sys模块
os模块# -*- coding:utf-8 -*-import osprint(os.getcwd()) # 查看当前所在路径print(os.listdir(os.getcwd())) # 查看当前路径下的所有文件,返回的是列表类型print(os.path.abspath('.')) # 返回path的绝对路径print(os.path.abspath('..')) # 返回上一层路径的绝对路径print(os.pat
2022-03-22 08:31:59 131
原创 python-task6-time和datetime之间转换
在python中,通常有三种方式来表达时间1.时间戳(timestamp)2.格式化的时间字符串(format time)3.元祖(struct_time),其中有9个元素,分表代表年、月、日、时、分、秒、weekday、一年中第几天、是否为夏令时time用法# -*- coding:utf-8 -*-import timeprint time.time() # 打印当前时间,时间戳print time.localtime() # 打印当前时间,时间元祖print time.
2022-03-22 08:31:43 957
原创 python-task5-模块和包的导入
https://www.cnblogs.com/linhaifeng/articles/6379069.htmlhttps://www.cnblogs.com/greatljg/p/11156786.html模块调佣import modulefrom module import xxfrom module.xx.xx import xx as renamefrom module.xx.xx import **注意:1.模块一旦被调用,即相当于执行了另外一个py文件里的代码,模块名第一次遇到
2022-03-22 08:30:04 152
原创 python-task4-列表字符串字典互转
https://www.cnblogs.com/-wenli/p/11003828.html字符串与列表字符串转列表(split)1.整体转换str1 = 'hello world'print(str1.split('这里传任何字符串中没有的分割单位都可以,但是不能为空'))# 输出:['helloworld']2.分割str2 = "hello world"list2 = list(str2)print(list2)#输出:['h', 'e', 'l', 'l', 'o', ' '
2022-03-22 08:29:50 583
原创 python-task3-打印中文的问题
python2打印含有中文的字符串name=“刘彩欣”print name打印含有中文的列表第一种办法:转编码decode(“string_escape”)type=[‘红心’,‘草花’,‘方块’,‘黑桃’]print type #---->会打印出二进制print str(type).decode(“string_escape”) #—>打印列表[‘红心’,‘草花’,‘方块’,‘黑桃’]print “,”.json(type)第二种办法:导入uniout直接导
2022-03-22 08:29:33 287
转载 python-task2-生成器、迭代器
可迭代对象字符串(str)、列表(list)、字典(dict)、集合(set)条件:实现了__iter__()函数的独享判断是否为可迭代对象的办法:第一种办法from collections.abc import Iterableprint(isinstance([1,2,3],Iterable))第二种办法print iter([1,2,3])迭代器条件:可以通过next()方法不断重复获取下一个值,直到所有元素全部输出完之后,返回stopiteration才停止p
2022-03-22 08:29:15 76
原创 python-task1-执行shell命令
python执行shell命令1.使用os模块的system方法:os.system(cmd)其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256表示未找到,该方法适用于shell命令不需要输出内容的场景。2.使用os模块的popen()方法:os.popen()该方法以文件的形式返回shell指令运行后的结果,需要获取内容时可使用read()或readlines()方法3.commands模块使用commands模块,有三个方法可以使用:(1)co
2022-03-22 08:28:54 260
原创 linux-nginx-配置详解
其他配置nginx是主进程+工作进程/子进程模式worker_processes 1; 工作进程数量 按cpu的总核心调整worker_cpu_affinity 0010 0100 1000; CPU的亲和力worker_connections 1024; 一个工作进程的并发数访问控制只允许本机访问a目录其他机器拒绝访问**location /a { allow 127.0.0.1 allow 192.168.10.42 deny all; return http:
2022-03-21 23:19:08 1651
原创 linux-nginx-nginx服务启动停止重启
启动nginx:nginx -c /path/to/nginx.conf/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf关闭nginx:nginx -s stop :快速停止nginxnginx -s quit :完整有序的停止nginx检测nginx语法/opt/nginx/nginx -t重新加载nginx/opt/nginx/nginx -s reload...
2022-03-21 23:18:44 150
原创 linux-nginx-nginx超时
1、请求超时http { include mime.types; server_names_hash_bucket_size 512; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #保持 tcp_nodelay on; client_header_timeout 15; client_body_
2022-03-21 23:18:03 552
原创 linux-nignx-后端语言及后端代理服务器
web服务器常见的web服务器有tomcat、apache、IIS、lighttpd这个 lighttpd 是另外一个 web 服务的,别乱搞啊,类似 iis,apache,nginx 这种的java --> proxy_passphp --> fastcgi_passPython–>uwsgi_pass其作用都是前后端分离,配置了nginx做前端代理,uwsgi、tomcat作后端代理服务器nginx转发给后端处理nginx的作用:1.反向代理,可以拦截一些web攻击
2022-03-21 22:47:17 330
原创 linux-nginx-分布式、集群、高可用概念
分布式是指将不同的业务分部到不同的应用服务器分布式中的每一个节点,都可以做集群,而集群并不一定就是分布式的分布式的每一个节点,都完成不同的业务,一个节点垮了哪这个业务就不可访问了集群cluster一群机器的集合(高可用集群、负载均衡集群……)高可用利用集群中系统的冗余,当系统中某台机器发生损坏的时候,其他后背的机器可以迅速的接替它来启动服务负载均衡负载均衡服务根据规则将各个请求转发到集群上的各个服务器,集群上的服务器是互不干扰,任何一台机器宕机,都不会影响其他机器运行...
2022-03-21 22:42:35 285
原创 docker之Dockerfile
步骤:1.创建文件夹2.进入文件夹,新建命名为Dockerfile文件3.编辑Dockerfile文件4.$ docker build -t nginx:v3 . 构造镜像5.docker build -f /path/to/a/Dockerfile 使用-f标志指向文件系统中任意位置的Dockerfile
2022-03-21 22:42:14 157
原创 Dockerfile配置文件字段
配置文件字段FROM:用来指定使用哪个基础imageCOPY:把宿主机上的文件拷贝到image中(拷贝的文件在宿主机上要存在)ADD:指定url源文件,docker会自动去下载url的文件,然后拷贝到image中CMD:指定启动一个container之后,默认执行的命令RUN:在构建image时候需要执行的命令(需要安装下载的东西)FROM dockerhub.nie.netease.com/library/golang:1.14.4-busterLABEL maintainer="niecd
2022-03-21 22:39:09 434
原创 docker之compose
https://blog.csdn.net/chenfeidi1/article/details/80866841Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docke
2022-03-21 22:38:32 87
原创 docker网络类命令
https://www.jianshu.com/p/22a7032bb7bd实现原理想要实现容器之间相互通信/访问外部网络,就需要配置容器的网络。(Docker使用Linux桥接(在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。Docker网
2022-03-18 08:37:31 1569
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人