python
文章平均质量分 60
cloveses
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pyMuPDF How To
1.PDF转图片只要是支持的文档,就可以转换为图像,比如XPS,PDF等import sys, fitz # import the bindingfname = sys.argv[1] # get filename from command linedoc = fitz.open(fname) # open documentfor page in doc: # iterate through the pages pix = page.get_pixmap() # rende翻译 2021-07-14 15:35:35 · 2552 阅读 · 1 评论 -
pymupdf Tutorial 笔记
导入import fitz打开文档doc = fitz.open(filename)# fitz.Document(filename)Document对象的属性Document.page_count 文档页数Documet.metadata 文档元数据(文档信息),字典Document.get_toc() 文档目录(list对象)Doument.load_page(page_num)...翻译 2021-07-13 23:02:21 · 1067 阅读 · 0 评论 -
openpyxl对execl文件中图片编辑
近日有个小项目,需要对Excel中数据行进行分离,即1.原文件中保留一些过滤掉某些数据行保存为一个新文件,2.原文件中的在上一步中过滤掉数据行也保存为一个新文件。但这些数据行中有的在C列带有图片,有的无图片,这样就给数据的分离带来了麻烦。openpyxl是可以通过ws._images获取Excel中的图片的,但只是按文件中图片顺序的引用,无法知晓图片所在单元格信息。在测试中,直接调用ws._images[0].anchor则会报错如下:>>> ws._images[0].ancho原创 2021-02-09 09:57:24 · 3681 阅读 · 0 评论 -
为GIT添加和应用多个站点私钥
1.ssh-keygen生成公钥和私钥。2.在服务器站点添加公钥。3.用户目录下.ssh目录中,可为多个git服务器编辑配置文件configHost gitee.com HostName gitee.com IdentityFile C:\\Users\\djx\\.ssh\\myrsa0119a PreferredAuthentications publickey User your_user_name等4.测试ssh -T git@gitee.com...原创 2021-01-19 21:49:36 · 196 阅读 · 0 评论 -
sqite3 数据库一小问题记录
定义为整数类型的列是可以插入空字符串的。如果用于查询时它会比任何整数都大。TT原创 2019-11-21 19:58:19 · 216 阅读 · 0 评论 -
kivy学习笔记-ScreenManager实现GUI界面切换
使用kivy库提供的ScreenManager对象可以快速的实现GUI界面切换。以下为代码实例:# file name:screen.kv<MainScreen>: Button: text:"Enter sub View" size_hint: None, None pos_hint: {'right': 1,'top':1...原创 2018-05-21 11:21:24 · 7370 阅读 · 4 评论 -
kivy学习笔记-转到新界面之二
上篇博文中的转换界面方法,当切换到新界面后,无法返回原界面,本文通过改进,实现了界面任意切换。代码如下:<MyForm>: #界面1代码 orientation:"vertical" text_input:text_box BoxLayout: height:"40dp" size_hint_y:None ...原创 2018-05-21 09:25:29 · 2333 阅读 · 0 评论 -
命令行下运行 Python 程序与使用 Python 交互式环境(补)
在 编程入门必知——Windows命令提示符启动与使用 文章中已经详细说明了命令提示符的使用,但仍然在网上不时看到有新手搞不清如何运行Python程序,所以这里再补一篇。1.使用Python交互式环境(注意配置环境变量后才可以直接运行,否则运行时要使用Python.exe的完整路径)如下图所示,这里启动的是Python的3.6版本,并执行了一个Python的语句:print('Hello Pyth...原创 2018-05-07 21:26:38 · 4573 阅读 · 0 评论 -
kivy学习笔记-转到新界面之两种方法
修改或切换应用程序界面显示的Widgets方法如下例程(在上一篇笔记中代码的基础上扩展),具体方法和说明见代码中的注释:MyForm: # 顶级GUI部件类<MyForm>: # 定义MyForm类 orientation:"vertical" # 定义orientation属性的值 text_input:text_box #...原创 2018-05-20 21:42:01 · 6088 阅读 · 1 评论 -
kivy学习笔记-基础篇
写kivy应用,一般使用kv语言(可以认为是Python的简化写法)定义图形化组件,并结合Python程序来实现应用程序。kv语言的源文件也是一个文本文件,文件的扩展名为.kv,而kivy程序在启动时会自动搜索和应用kv语言文件。而他们之间的关联方法是程序的主类名App之前的名称,对应kv语言文件的名称。具体参考以下实例,同时,以下代码实例也展示了kivy应用的基本结构:# file na...原创 2018-05-18 22:28:51 · 3783 阅读 · 5 评论 -
kivy学习笔记—触控手势的识别
触控手势是触摸屏输入的一种较常见的方式,kivy库提供了触控手势的识别,有了它,就可以在程序中方便的应用手势来控制应用程序中的操作,提高程序的操控方便性。from kivy.gesture import GestureDatabasefrom kivy.uix.boxlayout import BoxLayoutfrom kivy.app import Appfrom kivy.gestur...原创 2018-05-22 21:38:45 · 2224 阅读 · 1 评论 -
kivy安装
kivy的安装依赖比较多,这里对安装作简单记录。1.Ubuntu18系统中安装 首先用apt-get命令安装依赖包sudo apt-get install python3-opencv python3-pil python3-opencv python3-opengl python3-sdl2 cython3 libgstreamer1.0-0 p...原创 2018-06-05 10:49:03 · 2426 阅读 · 0 评论 -
PyQt5使用记录之三 —— MVD模式中的委托定义与使用
在上篇 PyQt5使用记录之二 —— QTableView实现数据的显示、编辑、删除与添加 中使用了QTableView与QStandardTableModel结合,实现了数据的CRUD,但数据的显示与编辑界面都是使用默认的委托来实现的,本篇记录下,结合自定义委托,实现自定义数据的显示与编辑。 使用自定义委托,一般自定义一个继承自PyQt5.QtWidgets.QStyledItem...原创 2018-07-09 15:26:24 · 3779 阅读 · 0 评论 -
PyQt5使用记录之一 —— 窗口切换与自定义对话框
近日,需要实现一个功能小而全的桌面版软件,所以选中并尝试了PyQt5这个GUI库。在使用中发现,其功能的确完备,但这方面的资料的确不多,有时自己想实现的功能相关资料找不到,有的还不得不阅读C++的实现代码。PyQt5的文档也都是指向C++版的文档。一段时间做下来,特将有关解决方法记录下来,以将来备查,也随手帮助下后来者。 一般来说,GUI软件都是需要不同的工作界面之间进行切换的,当然也少不了...原创 2018-07-06 16:31:09 · 5467 阅读 · 0 评论 -
PyQt5使用记录之二 —— QTableView实现数据的显示、编辑、删除与添加
数据的显示、编辑、删除与添加也是GUI编程的常见功能,作为初用者,使用笨拙的方式基本实现的功能。运用QTableView和QStandardItemModel相结合的方式实现数据的显示与增、删、改。基本代码如下,详见注释:..... self.player_tabview = QTableView() # 建立QTableView类实例 ...原创 2018-07-07 16:27:22 · 52108 阅读 · 6 评论 -
在pythonanywhere.com上部署tornado Web服务
pythonanywhere.com网站提供了python编程的服务平台,可以选择多上Python版本使用,还可以轻松部署自己写的Web服务器。该网站自动支持Flask、Bottle等框架。但近日,本人临时需要部署一个用tornado框架搭建的小型Web服务器,尝试在该网站上部署,结果也部署成功。现将部署过程记录如下: 1.安装相关库:尝试直接安装Tornado失败,提示权限...原创 2018-07-27 10:28:32 · 800 阅读 · 0 评论 -
用 Python 自动生成 Word 文档
当然要用第三方库啦 :)使用以下命令安装:pip install python-docx使用该库的基本步骤为:1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件)。2.设置文档的格式(默认字体、页面边距等)。3.在文档对象中加入段落文本、表格、图像等,并指定其样式。4.保存文档。注:本库仅支持生成Word2007以后版本的文档类型,即扩展名为.doc...原创 2018-08-14 15:59:51 · 45437 阅读 · 20 评论 -
aiohttp与asyncio实现并发爬虫模式
近日需要实现一个站点的爬虫,尝试了下aiohtp结合asyncio来实现,也参考了网上相关资料。第一回合 异步并发居然和同步一样工作代码如下:async def fetch_get(session, url): asyncio.sleep(random.randint(3,6)) # print('get:', url) async with session.get(...原创 2019-02-14 22:55:25 · 2873 阅读 · 2 评论 -
reportlab 库生成带有表格的PDF报表文件
用reportlab 库生成PDF文件的确很方便,对于简单的PDF文件的生成,可以直接使用最基本的一些drawXXX()方法来实现,具有可参见我的另一篇文章(https://blog.csdn.net/cloveses/article/details/79224057)但有时我们需要生成带有表格的报表,经过阅读官方文档,发现reportlab 库可以直接支持生成表格,而且还可以完成较为复杂的表格的...原创 2018-03-26 11:57:55 · 9025 阅读 · 2 评论 -
对象关系模型 pony 参考
近期使用了python 的 orm ——pony,特记录以下供参考:pony与其它的orm相比,可谓别具一格,显得有点另类,主要以迭代器方式实现,写起来觉得与SQL无关,更像基本的纯python代码;而且其官方文档清晰。一、使用pony的基本步骤1.定义orm模型from pony.orm import *db = Database()class Person(db.Entity): ...原创 2018-02-24 08:53:04 · 2169 阅读 · 0 评论 -
关于tornado的国际化遇到的问题记录
近期做一项目中用到tornado中的国际化。首先出现的问题是总不能使用浏览器设置的默认语言,从浏览器中获取的语言代码也是正常的,形如:zh-CN;但语言库中是zh_CN,所以无法查询到并应用它;最初的想法太简单,把语言库中的形如zh_CN改为了形如zh-CN,结果出乎意料,不能成功,反而出了错。通过查看tornado.locale.py代码,发现,其中进行了‘-'到‘_'替换。最后原创 2016-03-30 16:09:34 · 635 阅读 · 0 评论 -
Python 正则表达式辨析,原始字符串
请看下图:'\n' 表示换行符,匹配成功;r'\n' 正则处理时,\和n被拼接为换行符,匹配成功;r'\\n' 正则处理时,\和\被拼接为\,即成为两个字符:\和n,匹配失败;'\\n' 字符串处理后为'\n',正则处理时成为换行符,匹配成功。原创 2016-03-07 08:55:59 · 609 阅读 · 0 评论 -
tornado国际化翻译词条实时更新
近日,在一个项目中需要实时更新国际化翻译的词条,可是更新.mo文件后网页内容中的翻译并没有及时更新。不得去回头查询tornado和gettext.py的源码,不能实时更新有两个方面:1.在tornado.locale中的类GettextLocale中有一个类属性_cache,是作为一个已经建立翻译的类的实例记录字典。"{'lang_code':GNUTranslations实例}"。所以,原创 2016-04-07 21:09:45 · 823 阅读 · 0 评论 -
tornado实现在JS文件的国际化和静态文件的引用
在一个tornado的项目中,需要在JS代码文件中也可以实现国际化和static_url()方法来引用静态文件。而项目中使用了mako的模板引擎,正常情况下只是模板中可以实现国际化和使用static_url()方法;对于单独的JS文件是不会进行这种形式的渲染的。但也不一定不能用mako来渲染js文件,在项目中实现的方法是:1.在JS文件中依旧使用mako引擎中使用的${_('abc')}方原创 2016-04-14 20:51:16 · 2007 阅读 · 0 评论 -
tornado国际化(i18n)基本流程
从底到上分别为:1.web.RequestHandler中通过locale属性取得翻译词条的对象:调用tornado.locale.get(code)方法来取得。2.调用tornado.locale.Locale.get_closest(code);3.调用tornado.locale.Locale.get(code):Locale类中一个类属性_cache用来缓存已经获取的翻译对象,原创 2016-05-05 08:40:07 · 1911 阅读 · 0 评论 -
身份证号码验证
校验码计算步骤(1)十七位数字本体码加权求和公式S = Sum(Ai * Wi), i = 0, … , 16 ,先对前 17 位数字的权求和Ai:表示第i位置上的身份证号码数字值(0~9)Wi:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 (表示第 i 位置上的加权因子)(2)计算模Y = mod(S, 11)(3)根据模,查找得到对应的校验码转载 2016-06-30 21:20:27 · 380 阅读 · 0 评论 -
pythonanywhere网站上开发和测试bottle框架构建的WEB网站
前些日,希望能搞个简单的python的bottle库写的小网站,以实现一个简单的功能。在网上搜了下,发现www.pythonanywhere.com网站可以建立一个临时性的网站。于是,我注册了一个用户,开启了应用之旅。首先,对一个普通用户,你可以在该站打开二个控制窗口,来执行一些shell命令;当你建立一个自己的站点(可用框架有bottle/flask/Django/web2py)以后,会自动原创 2016-07-18 15:46:59 · 1575 阅读 · 0 评论 -
selenium初次应用体验
selenuim是个自动化测试的库,以前简单的看过,但当时没有应用的需求,所以就放在那。近日,单位要求我们为一批人在网上注册和报名,而且要填写的信息的确很多(这些信息都是在电子表格文件中),刚一开始,他们说直接从电子表格中一个个复制并粘贴到网页中就可以了。我去……,这么多,一个个复制还要盯准行和列,那要做到什么时候T-T?想着复制、粘贴功能,问了度娘,马上有了结果。pywin库中可以实现将原创 2016-07-21 13:53:41 · 610 阅读 · 0 评论 -
sqlalchemy基础—实例学之一
sqlalchemy是著名的ORM之一。本实例也其实是其文档的学习和实践的笔记。from sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, Sequence##连翻译 2016-10-21 09:29:17 · 469 阅读 · 0 评论 -
sqlalchemy基础—实例学之二 查询数据库
from sqlch_a import *from sqlalchemy.orm import sessionmaker##创建与数据库的会话Session = sessionmaker(bind=engine)##也可以用以下两条语句来实现##Session = sessionmaker()##Session.configure(bind=engine)session翻译 2016-10-21 09:30:32 · 1852 阅读 · 0 评论 -
跨过程序设计门槛之厘清计算机系统
作为程序的设计或软件开发的程序人员,必须要对计算机系统有基本的了解,这样才能在工作岗位上游刃有余。而本章主要介绍程序设计人员所必备的有关计算机系统的硬件和软件方面的知识、与程序设计有关的操作系统的使用等知识。通过学习本章,可以扫清一些非程序设计方面的其他操作障碍,而不至于因一些小问题的门槛将初入程序设计门径的读者绊倒在入门的那一刻。1.1 理解计算机计算机既是程序设计人员的必备工具,也是原创 2017-07-31 17:49:57 · 404 阅读 · 0 评论 -
python asyncio学习记录
近日,集中时间学习了一下python中的asyncio库的使用。1.async def 定义的函数称为协程对象,调用时不会立即执行,而返回一个协程对象,然后注册到事件循环,并由事件循环调用;2.Task 对象(Future子类)对协程的进一步包装,保存协程运行的状态,用于获取协程的结果,代表未来执行任务的结果;3.await 用于挂起阻塞的异步调用,用于挂起耗时的操作;4.Even原创 2017-08-14 16:11:25 · 1430 阅读 · 0 评论 -
WEB 框架后端开发学习大纲
1、测试服务器的建立;2.GET/POST请求的实现;3.GET请求参数的获取;4.POST请求参数的获取;5.文件上传的实现;6.静态文件服务;7.cookie的使用;8.session的使用;9.简单项目开发实践;10.框架服务器的部署原创 2017-12-25 10:36:09 · 617 阅读 · 0 评论 -
python将批量JPG文件写入PDF文件
近日,有大量的图片文件需要放入一个PDF文件中,所以找了Pypi,发现有个img2pdf库,的确好用,特将基本使用方法记录如下:1、安装img2pdf库pip install img2pdf同时pip会自动安装依赖库PIL。2、调用img2pdf库完成任务(使用A4幅面)a4inpt = (img2pdf.mm_to_pt(210),img2pdf.mm_to_pt(297))原创 2018-01-23 17:44:07 · 5483 阅读 · 11 评论 -
用reportlab库生成证件的PDF格式文件
reportlab库是用来生成报表的,它可以直接生成PDF格式的报表文件,也可以用来生成证件的PDF格式文件,便于分发和打印。reportlab生成证件PDF格式文件的基本步骤:1.建立文件;2.添加证件信息数据(姓名、性别、照片等。)3.保存PDF文件;但reportlab库不直接支持中文字体,所以还需要先注册一个或多个中文字体库。其基本流程源代码如下:from原创 2018-02-01 09:49:51 · 2544 阅读 · 0 评论 -
Win Server 2008 系统中的IIS下以Fastcgi形式配置Bottle或Flask开发的网站
前段时间,有个使用python的微web框架Bottle开发的小网站需要部署在Win Server 2008系统上,在Linux系统上有很多选择,但在Win系统下部署一开始还没有头绪。尝试了一些方法后,最后选择使用批处理的方式来运行网站主程序,然后在计划任务中添加一个跟随系统启动的计划任务。但网站表现始终不如人意,经常会出现网站没有启动,打开计划任务会显示如“映像篡改”等提示。 近日寻求解决原创 2017-10-08 21:37:16 · 1179 阅读 · 0 评论 -
一种考生考场安排算法与实现
近日,需要进行一次大型考试的考场安排工作,遂做了一番深究,并成功实现了一种考场排定的算法。 安排考生的基本思想是:对于报名人数较多的报名点的考生,应尽量分布在所有考场中去,这样可以使得同一考场,同一报名点人数较少。 算法的基本思想是:依照每场人数将报名库中的学生依照一定的次序排定在从首场至尾场的考室中去。另外,还需要打乱其报名号。举例来说的话,如果有100个考场,每考场30人,就是依次把按...原创 2018-03-16 10:18:29 · 5836 阅读 · 0 评论 -
Debian 8(jessie) 下安装跨平台Python GUI 工具库 kivy
从QPython中发现,其可以使用kivy来进行图形化编程,发现kivy这个库,居然是比较完整的跨平台的。官网上说:Kivy runs on Linux, Windows, OS X, Android and iOS.就想在debian下安装一下,结果安装过程还是比较曲折的,但总算还是装上了。以下对安装过程作了简单的记录:在我的Debian 8 中已经通过编译安装了Python原创 2015-11-10 15:41:09 · 1009 阅读 · 0 评论
分享