自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 RF框架的基本用法

Robot Framework框架入门

2022-09-22 16:41:55 387

原创 抓取屏幕

使用HTMLParser背景:抓取http://python.org/jobs的职业和链接新建类,继承HTMLParser类,重载handle_starttag/handle_data/handle_endtag方法handle_starttag遇到开始标签时候调用handle_data遇到文本数据时调用handle_endtag遇到结束标签时候调用这段代码重要的地方是设置了in_link,用于跟踪每一段方法是否在相关的链接里from urllib.request import urlopen

2021-05-03 22:01:57 147 2

原创 select模块异步通信

一、服务器1.创建服务器的套接字,绑定服务器的地址接口2.进行服务器的监听3.使用select模块的方法对指定的文件描述符进行监听。开始:select有三个参数,等待输入,输出和错误的文件描述符,我们把服务器 的套接字加到inputs列表,把inputs列表给select,select对inputs中的套接字进行监听结果:当select监听到有输入的时候,就会返回一个元组,元组的内容就是三个参数中已经准备号的文件描述符。当有新连接来的时候会返回服务器本身的文件描述符,当是客户端传送数据的时候会返回

2021-05-01 15:33:11 409

原创 集合

一、集合常用的函数:1.超集/子集issubset()判断集合的所有元素是否都包含在指定集合中,用于用于判断某个集合是否是某个集合的子集,也可以用:集合<=指定集合a={1,2,3}b={1,3,4}c=a&bprint(c)print(c.issubset(a))print(c<=a){1, 3}TrueTrueProcess finished with exit code 0issuperset()判断指定集合的所有元素是否都包含在原始集合中,也可以

2021-04-27 21:07:38 76

原创 正则表达式

原始字符r场景:被匹配的字符串中有时候会存在对解释器和re模块来说的特殊字符,如果要把它们当作是普通字符打印出来,就必须用反斜杠“\”转义一下,比如要打印字符串的一个反斜杠,反斜杠对于解释器和re来说都是特殊字符,所以要反斜杠进行转义,转义之后相对于解释器而言要对这两个反斜杠再进行转义,所以就是4个斜杠,句号“."相对于re来说是特殊字符,按理说用一个反斜杠转义就行了,但是对于解释器来说,要对这个反斜杠进行转义,所以就需要两个斜杠了但是解释器采用原始字符r就不需要再用反斜杠转义了,只需要在re层转义一次

2021-04-27 21:06:37 89 1

原创 python的常用库

一、sys库常用的几个函数:sys.argv:实现从程序外部向程序内部传递参数,返回的第一个值是脚本的本身路径#文件名:lei.pyimport sysprint("传递给python脚本的命令行参数:")num=0for i in sys.argv: if num==0: print("程序本身的路径:") print(i) num+=1 else: print("从程序外部向内传递的参数:\n")

2021-04-04 00:17:49 1361

原创 python八皇后

1.计算冲突之前有疑惑的地方:state是一个元组,储存每一行的皇后的列索引计算下一个皇后和当前的皇后是否冲突,在同一列上,列差为0,在斜杠上列差的绝对值等于下一行减去当前行,如果满足这两点则返回true,否则返回falsedef conflict(state, nextColumn): nextRow = rows = len(state) for row in range(rows): column = state[row] if abs(c

2021-03-31 21:42:54 319 1

原创 递归式生成器

def yield_test(nested): try: for sublist in nested: print('第一个for') t=yield_test(sublist) #这通过异常步骤返回的是个迭代器 # print(t) for element in t: print('第二个for') # print(ele

2021-03-30 17:58:42 253

原创 python递归

def full1(list): #[1,2,3] # if list is None: # return None if len(list)==1: return [list] remain=full1(list[1:]) #外层--[2,3]--[3] print(remain) #[2,3]层的none值是在这里打印的def full2(list): if len(list)==1: retu

2021-03-30 17:46:18 274

原创 “反转链表”递归的疑惑

最近在学习生成器,生成器中有个递归式生成器,一直搞不懂就去学习了下递归参考链接:https://blog.csdn.net/storyfull/article/details/102671946对这个文档中的反转链表的代码一直有几个地方不明白:_metaclass_=typeclass ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: def

2021-03-30 17:37:20 109

原创 python装饰器关于外层函数调用内层函数的疑惑

装饰器:调用hanshu2(原始功能)的时候会去调用hanshu1(扩展功能)@hanshu1(标识)def hanshu1(func): print('这里是函数1') def zhongjian(): print('这里是中间函数') func() # print('call%s'%hanshu2.__name__) return zhongjian@hanshu1def hanshu2(): print('这里是函

2021-03-27 22:40:42 810

原创 定义函数的参数

位置参数定义参数的顺序和调用参数传递值的顺序要一致关键字参数定义参数的时候设置一个默认值,当调用参数的时候不分配这个参数就会使用默认值定义和调用的时候参数名要一致,顺序随便def hello(greeting='hello',name='world'): print('{} {}!'.format(greeting,name))hello(name='YI',greeting='handson')运行结果:handson YI!Process finished with exi

2021-02-14 12:22:40 497

原创 自定义函数

names=input('请输入拼音全名:')storage=dict()#初始化def init(data): data['first']={} data['second'] = {} data['third'] = {} return data#获取姓名列表def lookup(data,label,name): return data[label].get(name) #返回一个列表,储存人名的列表#构造数据结构def store(data,fu

2021-02-12 21:33:34 180

原创 列表字典推导

字典推导boys=['jackson','andy','python']girls=['jack','anny','pop']ac={}for girl in girls: ac.setdefault(girl[0],[]).append(girl)print([b+'+'+a for b in boys for a in ac[b[0]]])结果:这里要解释下字典的方法setdefault:获取指定的值,存在这个key则返回字典相应的值,不存在这个key则设置相应的值,并返回

2021-02-10 22:44:21 54

原创 字符串

格式转换方法:1.format2.%3,fa=[1,2]print(f'{a[1]}')在格式化字符前面加上f就可以直接引用同名变量格式化的应用根据输入字符的宽度打印价格列表from wcwidth import wcswidthitem=input('请输入商品名称:')price=float(input('请输入商品价格:'))price_width=wcswidth(str(price))+6item_width=wcswidth(item)+6width=price_w

2021-02-09 21:27:54 82

原创 列表

序列的大多数方法都是在原来的序列上做更改,比如append\sort\reverse等,都是不会返回值的如果需要保留原来的可以用copy方法创建一个副本,在副本上做修改操作pop是一个例外,可以返回值除了使用sort可以排序之外,也可以使用sorted函数进行排序,这个还可以返回值,并且配合reverse使用,按相反的顺序排序,默认是升序...

2021-02-08 16:56:23 92

原创 python序列

Python的容器分为序列(列表、元组)和映射(字典)、集合序列的切片序列[start????step]当step为负数时,是从右边往左边移动,start要比end大当step为正数时,是从左边往右边移动切片的第一个索引包含在内,第二个索引不包含在内...

2021-02-08 11:54:23 291

转载 python的编码和解码

字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。但是因为py3只有unicode,就不用再解码(decode)了,所以直接编码(encode)参考自:https://www.cnblogs.com/1208xu/p/12045127.html编码和解码过程是这样的:比如一串字符,最初以GBK编码格式存在文件中,我们想将其变成UT

2021-02-07 15:49:00 343

原创 python setup.py egg_info Check the logs for full command out

安装turtle包的时候:pip3 install turtle报错:Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.查资料后说是要更新pip和setuptools参考网址:https://blog.csdn.net/qq_37189082/article/details/97658103但是在更新pip的过程中报错:然后加上了–use

2021-02-06 23:00:48 2008

原创 anaconda+pycharm的安装与配置教程

注:anaconda是自带Python解释器和Python编辑器于一身的,但是Python编辑器中pycharm更好用,所以本教程是写给自己的,每次重新安装anaconda和pycharm的时候有的要注意的地方都记不住了1.安装anaconda1.1.去官网下载anaconda的安装包(官网:https://www.anaconda.com/products/individual)在官网下载很忙的话可以去这里https://mirrors.tuna.tsinghua.edu.cn/下1.2. 安装过

2021-01-31 15:29:18 3985

空空如也

空空如也

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

TA关注的人

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