使用pyinstaller可以把.py文件打包为.exe可执行文件,命令为:pyinstallerhello.py打包后有两个文件夹,一个是dist,另外一个是build,可执行文件在dist文件夹里面,但是会有许多依赖是独立文件存在pyinstaller-Fhello.py使用-F参数后,打包的可执行文件是一个整体,只有一个.exe文件。获取文件路径的方式有四种,可以在打包成exe文件后,获取.exe文件的当前路径importsysimportospri
系统 2019-09-27 17:54:31 2361
不完美的Python自从各类Python大火,感觉天上地下哪儿都有Python的一席之地,Python功夫好啊…但python有些细节上缺少其他语言的便利。今天我们就来举几个例子。跳出外层循环大家都知道,在Java中存在标签的概念,当我们存在多层循环时,Java可以使用标签控制指定的循环层。举个小栗子:publicclassOuterLoop{publicstaticvoidmain(String[]args){outer:for(inti=0;i<5;i
系统 2019-09-27 17:54:10 2361
起因:有一天突然想看本小说,在小说网站上不能下载,广告太多,便。。。思路:–分析网站的结构–爬取目录(获得章节名和链接)–多线程加载章节网页–正则匹配内容–保存生成错误日志–链接单个章节txt合并为一个#-*-coding:utf-8-*-"""CreatedonTueJul218:23:492019@author:24709"""importurllibimporturllib.requestimportmultiprocessingfrombs4imp
系统 2019-09-27 17:53:50 2361
InstallingOpenCVinUbuntuforPython3byWK·PublishedMarch2,2016·UpdatedMarch3,2017InstallingOpenCVinlinuxforPython3isnotthatstraightforward,sointhistutorial,we’llgothroughthestepsonhowdowedoit.We’llbeusinga64bitUbuntu16.04system,andPy
系统 2019-09-27 17:53:02 2361
常见的反爬机制及处理方式1、Headers反爬虫:Cookie、Referer、User-Agent解决方案:通过F12获取headers,传给requests.get()方法2、IP限制:网站根据IP地址访问频率进行反爬,短时间内进制IP访问解决方案:1、构造自己IP代理池,每次访问随机选择代理,经常更新代理池2、购买开放代理或私密代理IP3、降低爬取的速度3、User-Agent限制:类似于IP限制解决方案:构造自己的User-Agent池,每次访问随
系统 2019-09-27 17:51:32 2361
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 2361
前言1.这篇数据分析案例,我做了个视频版本,对代码做了解读,讲了运行的注意事项和一些有的没的,供需。对于视频制作还不是很有经验,多包涵。(视频里有彩蛋)2.本文在案例的代码写完后,我把它发在了虎扑上。结果,被推荐上了首页,25万多次浏览,近800回复……感谢各位JRs赏脸!3.获取原图、更多球员生成的结果及完整代码,请在公众号“Crossin的编程教室”内回复关键字:nba--------------------NBA2018-19赛季已经落下帷幕,猛龙击
系统 2019-09-27 17:49:45 2361
一、写在前面从学Python的第一天起,我就知道了使用pip命令来安装包,从学习爬虫到学习Web开发,安装的库越来越多,从requests到lxml,从Django到Flask,各种各样的库都处在一个Python环境之中。这种做法对于我这种懒人来说是再适合不过的了,但是这样也是会有问题的。第一个问题在于Pycharm的加载速度变得慢了,因为要导入太多包了,而其中很多包对于很多程序来说根本用不上。第二个问题在于很多模块之间是有版本要求的,都需要特定的版本才能
系统 2019-09-27 17:47:52 2361
join()方法方法返回一个在序列的字符串元素被加入了由str分隔的字符串。语法以下是join()方法的语法:str.join(sequence)参数sequence--这是要连接的元素的顺序。返回值此方法返回一个字符串,在序列seq字符串的连接。元素之间的分离器是字符串str。例子下面的示例演示了join()方法的使用。#!/usr/bin/pythonstr="-";seq=("a","b","c");#Thisissequenceofstrings.
系统 2019-09-27 17:47:13 2361
问题背景:本来想写一个脚本来处理硬盘里的文件,并进行分类处理,但是发现一个问题,使用python内置os模块里的方法出现一些问题,具体的见示例。主要使用的方法(python2.7版本)示例:在电脑的D盘下建立两个文件夹,并在两个文件夹下分别建立两个文件及目录:a:D:\\test\\test.txtb:D:\测试\测试.txt分别使用a,b路径来测试os.path的几个方法#!/usr/bin/envpython#-*-coding:utf-8-*-imp
系统 2019-09-27 17:46:41 2361
1.filecmp模块介绍当我们进行代码审计或校验备份结果时,往往需要检查原始与目标目录的文件一致性,Python的标准库已经自带了满足此需求的模块filecmp。filecmp可以实现文件、目录、遍历子目录的差异对比功能。比如报告中输出目标目录比原始多出的文件或子目录,即使文件同名也会判断是否为同一个文件(内容级对比)等,Python2.3或更高版本默认自带filecmp模块,无需额外安装,下面进行详细介绍。2.模块常用方法说明filecmp提供了三个操
系统 2019-09-27 17:56:45 2360
#!/usr/bin/envpython#-*-coding:utf-8-*-#题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个#第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下#的一半零一个。到第10天早上想再吃时,见只剩下1个桃子了。求第一天共摘了多少。#求解思路:设后一天的桃子数量为x,则前一天剩余的桃子数量为(x+1)×2#例如:第10天剩余1个#第9天剩余(1+1)×2=4个#第8天剩余
系统 2019-09-27 17:56:38 2360
花下猫语:近日,Python之父在Medium上开通了博客,并发布了一篇关于PEG解析器的文章(参见我翻的全文译文)。据我所知,他有自己的博客,为什么还会跑去Medium上写文呢?好奇之下,我就打开了他的老博客。最后一篇文章写于2018年5月,好巧不巧,写的竟是pgen解析器,正是他在新文中无情地吐槽的、说将要替换掉的pgen。在这篇旧文里,Guido回忆了他创造pgen时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现在有了更好
系统 2019-09-27 17:55:03 2360
今天就和大家一起来讨论一下python实现12306余票查询(pycharm+python3.7),一起来感受一下python爬虫的简单实践我们说先在浏览器中打开开发者工具(F12),尝试一次余票的查询,通过开发者工具查看发出请求的包可以看到红框框中的URL就是我们向12306服务器发出的请求,那么具体是什么呢?我们来看看https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date
系统 2019-09-27 17:54:34 2360
BloomFilter&python支持BloomFilter布隆过滤器是一种概率空间高效的数据结构。它与hashmap非常相似,用于检索一个元素是否在一个集合中。它在检索元素是否存在时,能很好地取舍空间使用率与误报比例。即BloomFilter是会误判的,它只会把不存在于集合中的元素误判成存在于集合中,而不会把存在于集合中的元素误判成不存在集合中。正是由于这个特性,它被称作概率性数据结构(probabilisticdatastructure)。Bloom
系统 2019-09-27 17:54:06 2360