一小段Python语言代码帮你自动翻页和扫描
小标 2018-07-17 来源 : 阅读 1468 评论 0

摘要:本文主要向大家介绍了一小段Python语言代码帮你自动翻页和扫描,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

本文主要向大家介绍了一小段Python语言代码帮你自动翻页和扫描,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

反思通常是一件有益的事,对程序员来说就更是如此。我的第一个Python项目距今已经两年,但我仍然常常想起它,所以我写了这篇文章与大家分享。作为一名航空航天工程专业的学生,我第一次学习Python是想要避免使用电子表格。当时的我还不知道这是一个多么明智的决定。

 

我的Python启蒙书是Al Sweigart先生写的《Python编程快速上手——让繁琐工作自动化》(Automate the Boring Stuff with Python)。这是一本很好的应用型书籍,它包含了一些能够完成有用任务的简单程序。当我面对一个新的问题时,我会寻找一切机会去使用它来解决问题。当时我遇到了一个亟待解决的问题——我需要使用一本价格高达200刀的教材。

 

购买一本教材,我个人的预算是不超过20刀(《让繁琐的工作自动化》在网上可以免费阅读)。而且我不愿意去租书。

 

我很想在完成第一次作业之前拥有这本教材。接下来我发现亚马逊的新用户有一周的免费阅读该书的权限。于是我利用这个免费资源完成了第一次的作业。虽然可以继续每周创建新的账号来读书,但我需要一个更好的办法。于是我打开了Python,开始了我的第一个编程应用。

 

在《让繁琐的工作自动化》这本书里,有很多有用的库。pyautogui就是其中之一,它可以让你通过Python控制键盘和鼠标。

 

人们说对于一个拥有锤子的人来说,所有的问题看起来都像一颗钉子,这种说法太贴切了。Python和pyautogui使我能够自动地点击翻页键并截屏。当我把这两个操作结合起来后,教材的问题就迎刃而解了。

 

我写了我的第一个程序来自动翻阅每一页并且截屏。虽然最终的代码只有十行,我还是很骄傲,就像我在航空航天工程领域取得成就一样自豪。

以下是我的完整的代码:

 

import pyautogui

import time# Sleep for 5 seconds to allow me to open book
time.sleep(5)# Range can be changed depending on the number of pages
for i in range(1000): # Turn page
 pyautogui.keyDown('right')
 pyautogui.keyUp('right') # Take and save a screenshot
 pyautogui.screenshot('images/page_%d.pdf' % i)
 time.sleep(0.05)

 

运行这个代码很简单(我建议大家都试一试)。我将脚本保存为book_sreenshot.py,然后在同一个文件夹里终止了命令符并写道:

 

python book_screenshot.py

 

接下来,我有五秒钟的时间打开书并开至全屏。程序会完成接下来的事情:翻阅每一页并截屏,保存至pdf格式。我会把所有的pdf页面组合成一个文件,做成这本书的副本(不确定是否合法)。当然,这是一个糟糕的副本,因为它无法被检索。但是我找了一切借口去尽量使用这本“书”。

 

 

 

这个例子说明了两个关键点,这两点在我学习数据科学的过程中一直伴随着我:

学一个新技能最好的方法是找一个亟需解决的问题。


你不必等到完全精通一个技能才开始使用它。


 

依靠短短几行的代码和一本免费的在线图书,我编写了一段真正可以应用的程序。学习基础知识有时是很无聊的,当我第一次尝试学习Python时,因为搞不懂数据结构以及循环这类的概念,仅仅几个小时就放弃了。而调整策略以后,我开始为现实中的问题寻找解决方案,并且在这过程中学习到了基础知识。编程和数据科学有太多需要学习了,但是你不必一口吃成个大胖子,一次学完所有的知识。找到一个需要解决的问题,然后开始学习吧!

 

在这之后,我做了一些更复杂的项目,但我仍然记得这段有趣的Python编程初体验。

本文由职坐标整理并发布,希望对同学们学习Python有所帮助,更多内容请关注职坐标编程语言Python频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程