教材太贵?一小段Python代码帮你自动翻页和扫描

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

 

[[225275]]

 

 

大数据文摘作品

 

 

编译:Rita、黄文畅、云舟

 

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

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

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

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

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

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

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

以下是我的完整的代码:

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

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

  1. python book_screenshot.py 

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

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

  • 学一个新技能***的方法是找一个亟需解决的问题。
  • 你不必等到完全精通一个技能才开始使用它。

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

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

原文链接:

https://towardsdatascience.com/python-is-the-perfect-tool-for-any-problem-f2ba42889a85

【本文是51CTO专栏机构大数据文摘的原创译文,微信公众号“大数据文摘( id: BigDataDigest)”】

     大数据文摘二维码

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2021-06-10 10:53:32

Python代码zip

2018-04-24 16:01:46

代码数据可视化Python

2015-04-02 11:17:20

2020-10-26 10:11:45

Jupyter Not早起Python开发

2021-04-08 09:14:24

js前端函数

2018-02-24 10:56:29

PythonPygameJavaScript

2021-07-12 09:17:54

Memory Comp系统内存

2020-01-03 16:06:38

代码开发工具

2009-09-17 13:44:19

2020-06-10 07:49:56

Python代码开发工具

2011-08-23 09:35:23

MavenJava

2018-10-15 09:30:11

ChromeYouTubeLinux

2020-01-03 10:24:06

Python 开发编程语言

2020-08-13 18:54:53

Python代码解释器

2022-05-01 21:49:06

Python

2011-09-07 17:19:16

Web widget

2020-11-23 16:18:21

Python开发工具

2018-07-25 13:34:14

Python微信撤回

2014-07-08 09:21:10

死代码创意歌曲

2018-09-14 16:04:45

Facebook 开发工具
点赞
收藏

51CTO技术栈公众号