笔者在今天的工作中,遇到了一个需求,那就是如何将Python字符串生成PDF。比如,需要把Python字符串‘这是测试文件'生成为PDF,该PDF中含有文字‘这是测试文件'。经过一番检索,笔者决定采用wkhtmltopdf这个软件,它可以将HTML转化为PDF。wkhtmltopdf的访问网址为:https://wkhtmltopdf.org/downloads.html,读者可根据自己的系统下载对应的文件并安装。安装好wkhtmltopdf,我们再安装这
系统 2019-09-27 17:54:40 2224
说明:本文为博主原创文章,未经博主允许不得转载。如果代码有不懂的,欢迎与我探讨!邮箱:1103540209@qq.comgithub地址:https://github.com/wstchhwp文章目录1.Matplotlib基本概念2.Matplotlib三层结构容器层辅助显示层图像层总结3.plt的基本用法3.1Figure对象3.2plot的使用3.3如何在同一个figure内部设置多个图片3.4如何调整subplot的间距4.参考可视化是在整个数据挖
系统 2019-09-27 17:54:39 2224
上次完成的url爬取项目并不能满足需求,在此完成了一个更为强大的爬取代码,有需要的可以直接运行,根据自己爬取的网站更改部分正则和形参即可。前排提示:运行需要耐心,因为几千个url爬完的话,还是建议花生瓜子可乐电影准备好。下面是代码,代码有注释,很容易理解。注意:爬虫代码每过一段时间就需要更新,因为爬的东西在变,所以可能过一段时间就要更新爬虫。#-*-coding:utf-8-*-"""CreatedonWedSep2914:01:282018@author
系统 2019-09-27 17:52:48 2224
之前用了谷歌的selenium模块,为了练习一下所以写了这个(没错才不是别的理由!)代码里涉及到了各种复杂的情况,包括要找的div在别的iframe中的处理方式,顶部导航栏的定位方式等等。综合性很强下面是代码fromseleniumimportwebdriverimporttimefromfake_useragentimportUserAgentopt=webdriver.ChromeOptions()#opt.add_argument('--headle
系统 2019-09-27 17:52:24 2224
Python产生一个数值范围内的不重复的随机数,可以使用random模块中的random.sample函数,其用法如下:importrandomrandom.sample(population,k)函数从序列或集合population中返回一个长度为k的随机数列表,并且列表中的随机数元素之间是不重复的,如:>>>a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]>>>a[1,2,3,4,5,6,7,
系统 2019-09-27 17:52:06 2224
numpy中的random模块有多个函数用于生成不同类型的随机数,常见的有uniform、rand、random、randint、random_interges下面介绍一下各自的用法1、np.random.uniform的用法np.random.uniform(low=0.0,high=1.0,size=None)作用:可以生成[low,high)中的随机数,可以是单个值,也可以是一维数组,也可以是多维数组参数介绍:low:float型,或者是数组类型的,
系统 2019-09-27 17:52:05 2224
定义使用内置的defaultdict我们可以很容易的定义一个树形数据结构deftree():returndefaultdict(tree)example:json风格users=tree()users['harold']['username']='bell'users['handler']['username']='master'我们可以使用print(json.dumps(users))以json的形式输出,于是我们看到{'harold':{'usern
系统 2019-09-27 17:47:35 2224
浏览器的简单操作#导入webdriver模块#创建driver对象,指定Chrome浏览器driver=webdriver.Chrome()#窗口最大化driver.maximize_window()#访问百度driver.get("http://baidu.com")driver.get("http://sina.com")#后退driver.back()#前进driver.forward()#刷新driver.refresh()#关闭窗口driver.
系统 2019-09-27 17:47:25 2224
一、死锁简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况。1、迭代死锁该情况是一个线程“迭代”请求同一个资源,直接就会造成死锁:importthreadingimporttimeclassMyThread(threading.Thread):defrun(self):globalnumtime.sleep(1)ifmutex.acquire(1):num=num+1msg=self.name
系统 2019-09-27 17:46:39 2224
1:readline()file=open("sample.txt")while1:line=file.readline()ifnotline:breakpass#dosomethingfile.close()一行一行得从文件读数据,显然比较慢;不过很省内存;测试读10M的sample.txt文件,每秒大约读32000行;2:fileinputimportfileinputforlineinfileinput.input("sample.txt"):pas
系统 2019-09-27 17:38:15 2224