一、前言以前使用selenium的无头浏览器,自从phantomjs2016后慢慢不更新了之后,selenium也开始找下家,这时候谷歌的chrome率先搞出来无头浏览器并开放了各种api,随后firefox也开始做。现在selenium的测试也都支持这两个浏览器的无头模式了,只需要在引入的时候配置一下就可以了。之所以要采用谷歌chrome官方无头框架puppeteer的python版本pyppeteer,是因为有些网页是可以检测到是否是使用了seleni
系统 2019-09-27 17:52:58 2314
摘要:当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。FTP服务器,在此之前我都是使用Linux的vsftpd软件包来搭建FTP服务器的,现在发现了利用pyftpdlib可以更加简单的方法即可实现FTP服务器的功能。环境要求Python2.7Windows/Linux环境搭建一行代码实现FTP服务器通过Python的-m选项作为一个简单的独立服务器来运行,当你想快速
系统 2019-09-27 17:52:27 2314
python的布尔值True和False相当于1和0,True==1,False==0,True+1=2是成立。在if()条件判断语句中,0、空字符串("")、None、空列表([])、空元组(())、空集合({})这六种都等价于False,详见示例1,但是用==(比较值是否相等,不比较引用地址)比较时只有0==False为True,其他五种都是False,示例2。示例1#示例1if0:print("0")elif"":print("\"\"")elifN
系统 2019-09-27 17:50:47 2314
日志如果你曾经在代码中加入print()语句,在程序运行时输出某些变量的值,你就使用了记日志的方式来调试代码。记日志是一种很好的方式,可以理解程序中发生的事,以及事情发生的顺序。Python的logging模块使得你很容易创建自定义的消息记录。这些日志消息将描述程序执行何时到达日志函数调用,并列出你指定的任何变量当时的值。另一方面,缺失日志信息表明有一部分代码被跳过,从未执行。使用日志模块要启用logging模块,在程序运行时将日志信息显示在屏幕上,请将下
系统 2019-09-27 17:47:25 2314
join()方法方法返回一个在序列的字符串元素被加入了由str分隔的字符串。语法以下是join()方法的语法:str.join(sequence)参数sequence--这是要连接的元素的顺序。返回值此方法返回一个字符串,在序列seq字符串的连接。元素之间的分离器是字符串str。例子下面的示例演示了join()方法的使用。#!/usr/bin/pythonstr="-";seq=("a","b","c");#Thisissequenceofstrings.
系统 2019-09-27 17:47:13 2314
BeautifulSoup库解析器解析器使用方法条件bs4的HTML解析器BeautifulSoup(mk,'html.parser')安装bs4库lxml的HTML解析器BeautifulSoup(mk,'xml')pipinstalllxmllxml的XML解析器BeautifulSoup(mk,'xml')pipinstalllxmlhtml5lib的解析器BeautifulSoup(mk,'htm5lib')pipinstallhtm151ibBe
系统 2019-09-27 17:46:54 2314
高性能服务器TornadoPython的web框架名目繁多,各有千秋。正如光荣属于希腊,伟大属于罗马。Python的优雅结合WSGI的设计,让web框架接口实现千秋一统。WSGI把应用(Application)和服务器(Server)结合起来。Django和Flask都可以结合gunicon搭建部署应用。与django和flask不一样,tornado既可以是wsgi应用,也可以是wsgi服务。当然,选择tornado更多的考量源于其单进程单线程异步IO的
系统 2019-09-27 17:38:14 2314
上一小节里面,老袁给晓白讲了python是什么,python的由来,发展历程,崛起和python的特点。这一小节里面,老袁会告诉晓白人们都用python来做什么。“我刚刚说了,python的特点之一就是应用领域广泛,那人们一般用python做什么呢?接下来我就给你讲讲python常见的应用领域。”老袁说完,继续进行讲解。web领域python在web领域有着广泛的应用,那首先我们简单说一下什么是web,web也就是大名鼎鼎的worldwideweb(万维网
系统 2019-09-27 17:56:59 2313
本文实例讲述了Python基于twisted实现简单的web服务器,分享给大家供大家参考。具体方法如下:1.新建htm文件夹,在这个文件夹中放入显示的网页文件2.在htm文件夹的同级目录下,建立web.py,web.py的内容为:fromtwisted.web.resourceimportResourcefromtwisted.webimportserverfromtwisted.webimportstaticfromtwisted.internetimp
系统 2019-09-27 17:55:56 2313
1.变量的输入:input函数:input()input("请输入银行卡密码")password=input("请输入银行卡密码")变量名=input("XXX")#用输入函数给变量赋值输入函数给变量赋值举例:注:所有input()得到的数据类型都是str字符串类型2.变量类型的转换函数:•int(x)#str转整数•float(x)#str转小数转换举例:3.输入综合练习:#1.输入苹果的单价price=float(input("请输入苹果的价格"))#
系统 2019-09-27 17:55:22 2313
花下猫语:近日,Python之父在Medium上开通了博客,并发布了一篇关于PEG解析器的文章(参见我翻的全文译文)。据我所知,他有自己的博客,为什么还会跑去Medium上写文呢?好奇之下,我就打开了他的老博客。最后一篇文章写于2018年5月,好巧不巧,写的竟是pgen解析器,正是他在新文中无情地吐槽的、说将要替换掉的pgen。在这篇旧文里,Guido回忆了他创造pgen时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现在有了更好
系统 2019-09-27 17:55:03 2313
Python入门之闭包1、闭包(1)在嵌套函数内使用(非本层变量)和非全局变量就是闭包(2)_closure_判断是不是闭包deffunc():a=1deffoo():print(a)print(foo.__closure__)#判断是不是闭包func()defwrapper():a=1definner():print(a)returninnerret=wrapper()a=2defwrapper():definner():print(a)returnin
系统 2019-09-27 17:54:33 2313
使用pyinstaller可以把.py文件打包为.exe可执行文件,命令为:pyinstallerhello.py打包后有两个文件夹,一个是dist,另外一个是build,可执行文件在dist文件夹里面,但是会有许多依赖是独立文件存在pyinstaller-Fhello.py使用-F参数后,打包的可执行文件是一个整体,只有一个.exe文件。获取文件路径的方式有四种,可以在打包成exe文件后,获取.exe文件的当前路径importsysimportospri
系统 2019-09-27 17:54:31 2313
在循环对象和函数对象中,我们了解了循环器(iterator)的功能。循环器是对象的容器,包含有多个对象。通过调用循环器的next()方法(__next__()方法,在Python3.x中),循环器将依次返回一个对象。直到所有的对象遍历穷尽,循环器将举出StopIteration错误。在foriiniterator结构中,循环器每次返回的对象将赋予给i,直到循环结束。使用iter()内置函数,我们可以将诸如表、字典等容器变为循环器。比如:复制代码代码如下:f
系统 2019-09-27 17:53:54 2313
python读写csv文件并增加行列,具体代码如下所示:#-*-coding:utf-8-*-"""CreatedonThuAug1711:28:172017@author:ShawnYuen"""importcsvd=list(range(38685))withopen('./kinetics_test.csv')asf1:f_csv=csv.DictReader(f1)fori,rowinenumerate(f_csv):#print(row)key1
系统 2019-09-27 17:52:37 2313