先给大家介绍下Selenium3+python3--如何定位鼠标悬停才显示的元素定位鼠标悬停才显示的元素,要引入新模块#coding:utf-8fromseleniumimportwebdriverfromselenium.webdriver.common.action_chainsimportActionChainsdriver=webdriver.Firefox()driver.get("http://www.baidu.com")#定位百度页面上鼠标
系统 2019-09-27 17:53:11 1923
函数这么重要的东西自然少不了。那么在python中是怎么定义的呢?defcgg(name):print("haha%s"%name)def是定义的意思,而cgg是函数名,name是参数。当然了,有了函数吗,自然少不了函数的返回值。那么这里用的依然是return。defcgg(a,b):returna+b模块一个小例子:importtimeprint(time.asctime())这个可以显示现在的时间。而这个time就是一个模块,包括之前的turtle也是
系统 2019-09-27 17:51:49 1923
记住以下几点:直接子类化内置类型(如dict,list或str)容易出错,因为内置类型的方法通常会忽略用户覆盖的方法,不要子类化内置类型,用户自定义的类应该继承collections模块。def__setitem__(self,key,value):super().__setitem__(key,[value]*2)#错误案例classAnswerDict(dict):def__getitem__(self,item):#错误案例return42impor
系统 2019-09-27 17:50:43 1923
文件基本语法file=open(‘文件名’,mode)编码encoding=‘utf8’读模式存在返回True,否则抛出异常FileNotFoundError写模式存在返回True,否则新建文件mode读r写w追加a二进制b读写+操作读取所有内容read()读取一行readline()读取所有行列表readlines()关闭文件close()自动关闭withopen(目标文件)asf:存取Python对象pickle写对象dump(对象,目标文件)读对象l
系统 2019-09-27 17:49:39 1923
1、python大量的库为数据分析提供了完整的工具集2、比起MATLAB、R语言等其他主要用于数据分析语言,python语言功能更加健全3、python库一直在增加,算法的实现采取的方法更加创新4、python能很方便的对接其他语言,比如c、java等什么是IPython?IPython是一个python的交互式的shell(它默认的pythonshell要好用的多、强大的多)1、支持代码的自动补全、自动缩进,已经支持bashshell2、JupyterN
系统 2019-09-27 17:48:58 1923
*args和**kwargs是常用的两个参数*args:用于接受多余的未命名的参数,元组类型。**kwargs:用于接受形参的命名参数,字典类型的数据。可变参数args:deffun(n,*args):print(n)print(args)#未拆包print(*args)#进行拆包fun(1,2,3,4)结果:1(2,3,4)234形参中的*args是接受数据的args,它是一个元组,把传入的数据放进args元组中。函数中的args仍然是元组,*args就
系统 2019-09-27 17:48:57 1923
文章目录获取当前决定路径os.getcwd()获取路径下的所有文件名和路径名os.listdir()创建文件夹os.makedirs()删除文件夹os.remove()获取文件的绝对路径os.path.abspath("init.py")判断指定路径或者文件是否存在os.path.exists()将文件路径和文件组成一个完成的路径os.ptah.join()获取当前决定路径os.getcwd()paths=os.getcwd()print(paths)#D
系统 2019-09-27 17:48:26 1923
0x00:使用xpath进行网页解析#coding:utf-8importrequestsimportosimportrefromlxmlimportetreeimporttimedefget_title(title):#获取标题,创建文件path=r"./Pic/"+titleifos.path.exists(path):#文件夹存在,返回returnpathelse:os.makedirs(path)#创建空文件夹returnpathdefpic_ge
系统 2019-09-27 17:48:15 1923
并发与锁a.多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁b.c.互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:1importthreading2#声明互斥锁3lock=threading.Rlock();4defhandle(sid):#功能实现代码5lock.acquire()#加锁6#
系统 2019-09-27 17:48:09 1923
1.a=[]arrays=[a*3]arrays其实为[[]]2.arrays=[a]*N看上去是创建了二维数组,但是只是创建N个指向a的引用,所以一旦a改变,arrays中N个list也会随之改变eg:a=[]N=3arrays=[a]*3arrays[0].append(1)#看上去只为第一个list添加整数1,实际上---print(arrays)输出为[[1],[1],[1]]3.arrays=[[]foriinrange(N)]eg:N=3arr
系统 2019-09-27 17:47:28 1923