朋友需要对一个pdf文件进行分割,在网上查了查发现这个pypdf2可以完成这些操作,所以就研究了下这个库,并做一些记录。首先pypdf2是python3版本的,在之前的2版本有一个对应pypdf库。可以使用pip直接安装:pipinstallpypdf2官方文档:pythonhosted.org/PyPDF2/里面主要有这几个类:PdfFileReader。该类主要提供了对pdf文件的读操作,其构造方法为:PdfFileReader(stream,stri
系统 2019-09-27 17:53:00 2159
前言Martin(Bob大叔)曾在《代码整洁之道》一书打趣地说:当你的代码在做CodeReview时,审查者要是愤怒地吼道:“Whatthefuckisthisshit?”“Dude,Whatthefuck!”等言辞激烈的词语时,那说明你写的代码是BadCode,如果审查者只是漫不经心的吐出几个“Whatthefuck?”,那说明你写的是GoodCode。衡量代码质量的唯一标准就是每分钟骂出“WTF”的频率。一份优雅、干净、整洁的代码通常自带文档和注释属性
系统 2019-09-27 17:50:58 2159
什么是python的迭代如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。(在Python中,迭代是通过for...in来完成的)Python的for循环抽象程度要高于C的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。(可以直接作用于for循环的对象统称为可迭代对象(Iterable),如list、tuple、dic
系统 2019-09-27 17:50:30 2159
解决print()中文的乱码问题!!!#-*-coding:utf-8-*-importioimportsys#改变标准输出的默认编码(改变中文输出的乱码问题)sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')selenium+chrome浏览器进行爬虫下载chrome的浏览器驱动(http://chromedriver.storage.googleapis.com/index.ht
系统 2019-09-27 17:49:57 2159
要求:python写一个要求用户输入数字,如果不是数字就一直循环要求输入,直到输入数字为止的代码错误打开方式:whileTrue:ten=input('Enteranumber:')iftype(eval(ten))==type(int):break用这个输入字母可以可是输入字母就直接报错中断了主要出在eval上。python3.0第一个方案:whileTrue:ten=input("x:")try:x=eval(ten)iftype(x)==int:br
系统 2019-09-27 17:49:37 2159
简介f-string,亦称为格式化字符串常量(formattedstringliterals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP498�CLiteralStringInterpolation,主要目的是使格式化字符串的操作更加简便。f-string在形式上是以f或F修饰符引领的字符串(f'xxx'或F'xxx'),以大括号{}标明被替换的字段;f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式:Wh
系统 2019-09-27 17:48:41 2159
一、写在前面从学Python的第一天起,我就知道了使用pip命令来安装包,从学习爬虫到学习Web开发,安装的库越来越多,从requests到lxml,从Django到Flask,各种各样的库都处在一个Python环境之中。这种做法对于我这种懒人来说是再适合不过的了,但是这样也是会有问题的。第一个问题在于Pycharm的加载速度变得慢了,因为要导入太多包了,而其中很多包对于很多程序来说根本用不上。第二个问题在于很多模块之间是有版本要求的,都需要特定的版本才能
系统 2019-09-27 17:47:52 2159
简介本文主要介绍python数组循环语法。主要方式有元素遍历,索引遍历,enumerate,zip,list内部等。普通循环list1=['item1','item2','item3']foriteminlist1:print(item)//结果item1item2item3根据index循环1list1=['item1','item2','item3']index=0foriteminlist1:print('index:'+str(index)+',v
系统 2019-09-27 17:47:33 2159
图像显示和打印面临的一个问题是:图像的亮度和对比度能否充分突出关键部分。这里所指的“关键部分”在CT里的例子有软组织、骨头、脑组织、肺、腹部等等。技术问题1、显示器往往只有8-bit,而数据有12-至16-bits。2、如果将数据的min和max间(dynamicrange)的之间转换到8-bit0-255去,过程是个有损转换,而且出来的图像往往突出的是些噪音。算法分析12-bit到8-bit直接转换:computeMinMax(pixel_val,min
系统 2019-09-27 17:45:50 2159
一、例子:我们对传参是有要求的必须传入一个元组,否则报错import_threadasthreadimporttimedefloop1(in1):print("Startloop1at:",time.ctime())print("我是参数",in1)time.sleep(4)print("Endloop1at:",time.ctime())defloop2(in1,in2):print("Startloop2at:",time.ctime())print(
系统 2019-09-27 17:45:45 2159
目录一、信息标记的三种形式XML格式数据JSON格式数据YAML格式数据二、信息标记形式的比较XMLJSONYAML三、信息提取的一般方法方法一:方法二:融合方法:四、基于bs4库的HTML内容查找方法扩展方法总结:一、信息标记的三种形式XML格式数据JSON格式数据YAML格式数据二、信息标记形式的比较XML最早的通用信息标记语言,可扩展性好,但繁琐。Internet上的信息交互与传递JSON信息有类型,适合程序处理(js),较XML简洁移动应用云端和节
系统 2019-09-27 17:45:34 2159
Heroku是一个很棒的平台,它有很多的控件,并且搭建环境相对来说也比较容易。本指南中,我将一步一步指导你在Heroku平台上部署一个简单地Django应用搭建开发环境Heroku工具链假设你已经在Heroku平台上注册了一个帐户,并且在里面创建了一款应用,为了一会儿通过CLI与Heroku交互,你需要安装Heroku工具链。在这篇指南中,我们用"Sample-Project"作为应用的名字。Git仓库在部署你的应用到Heroku之前,你需要先将你的代码签
系统 2019-09-27 17:38:25 2159
网站换肤是经常要用到的一个功能,但是传统的方式似乎有点瑕疵,本文实现的Ajax换肤有点类似MSNSpace中的用户体验。功能:点击linkbutton,在网页中央弹出一个radio单选框,同时背景变成灰色,选择这个单选框的选项,实现换肤功能。这主要是ModalPopupExtender控件提供的功能,控件设置如下:
系统 2019-08-29 23:51:31 2159
系统 2019-08-29 23:44:00 2159
几乎所有目前的3D显示晶片都有Zbuffer或Wbuffer。不过,还是常常可以看到有人对Zbuffer和Wbuffer有一些基本的问题,像是Zbuffer的用途、Zbuffer和Wbuffer的差别、或是一些精确度上的问题等等。这篇文章的目的就是要简单介绍一下Zbuffer和Wbuffer。Zbuffer和Wbuffer是做什么用的呢?它们的主要目的,就是去除隐藏面,也就是Hiddensurfaceelimination(或是找出可见面,Visibles
系统 2019-08-29 23:39:11 2159