自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

教材太貴?一小段Python代碼幫你自動(dòng)翻頁(yè)和掃描

企業(yè)動(dòng)態(tài)
人們說(shuō)對(duì)于一個(gè)擁有錘子的人來(lái)說(shuō),所有的問(wèn)題看起來(lái)都像一顆釘子,這種說(shuō)法太貼切了。Python和pyautogui使我能夠自動(dòng)地點(diǎn)擊翻頁(yè)鍵并截屏。當(dāng)我把這兩個(gè)操作結(jié)合起來(lái)后,教材的問(wèn)題就迎刃而解了。

 

[[225275]]

 

 

大數(shù)據(jù)文摘作品

 

 

編譯:Rita、黃文暢、云舟

 

反思通常是一件有益的事,對(duì)程序員來(lái)說(shuō)就更是如此。我的***個(gè)Python項(xiàng)目距今已經(jīng)兩年,但我仍然常常想起它,所以我寫(xiě)了這篇文章與大家分享。作為一名航空航天工程專業(yè)的學(xué)生,我***次學(xué)習(xí)Python是想要避免使用電子表格。當(dāng)時(shí)的我還不知道這是一個(gè)多么明智的決定。

我的Python啟蒙書(shū)是Al Sweigart先生寫(xiě)的《Python編程快速上手——讓繁瑣工作自動(dòng)化》(Automate the Boring Stuff with Python)。這是一本很好的應(yīng)用型書(shū)籍,它包含了一些能夠完成有用任務(wù)的簡(jiǎn)單程序。當(dāng)我面對(duì)一個(gè)新的問(wèn)題時(shí),我會(huì)尋找一切機(jī)會(huì)去使用它來(lái)解決問(wèn)題。當(dāng)時(shí)我遇到了一個(gè)亟待解決的問(wèn)題——我需要使用一本價(jià)格高達(dá)200刀的教材。

購(gòu)買一本教材,我個(gè)人的預(yù)算是不超過(guò)20刀(《讓繁瑣的工作自動(dòng)化》在網(wǎng)上可以免費(fèi)閱讀)。而且我不愿意去租書(shū)。

我很想在完成***次作業(yè)之前擁有這本教材。接下來(lái)我發(fā)現(xiàn)亞馬遜的新用戶有一周的免費(fèi)閱讀該書(shū)的權(quán)限。于是我利用這個(gè)免費(fèi)資源完成了***次的作業(yè)。雖然可以繼續(xù)每周創(chuàng)建新的賬號(hào)來(lái)讀書(shū),但我需要一個(gè)更好的辦法。于是我打開(kāi)了Python,開(kāi)始了我的***個(gè)編程應(yīng)用。

在《讓繁瑣的工作自動(dòng)化》這本書(shū)里,有很多有用的庫(kù)。pyautogui就是其中之一,它可以讓你通過(guò)Python控制鍵盤和鼠標(biāo)。

人們說(shuō)對(duì)于一個(gè)擁有錘子的人來(lái)說(shuō),所有的問(wèn)題看起來(lái)都像一顆釘子,這種說(shuō)法太貼切了。Python和pyautogui使我能夠自動(dòng)地點(diǎn)擊翻頁(yè)鍵并截屏。當(dāng)我把這兩個(gè)操作結(jié)合起來(lái)后,教材的問(wèn)題就迎刃而解了。

我寫(xiě)了我的***個(gè)程序來(lái)自動(dòng)翻閱每一頁(yè)并且截屏。雖然最終的代碼只有十行,我還是很驕傲,就像我在航空航天工程領(lǐng)域取得成就一樣自豪。

以下是我的完整的代碼:

  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) 

運(yùn)行這個(gè)代碼很簡(jiǎn)單(我建議大家都試一試)。我將腳本保存為book_sreenshot.py,然后在同一個(gè)文件夾里終止了命令符并寫(xiě)道:

  1. python book_screenshot.py 

接下來(lái),我有五秒鐘的時(shí)間打開(kāi)書(shū)并開(kāi)至全屏。程序會(huì)完成接下來(lái)的事情:翻閱每一頁(yè)并截屏,保存至pdf格式。我會(huì)把所有的pdf頁(yè)面組合成一個(gè)文件,做成這本書(shū)的副本(不確定是否合法)。當(dāng)然,這是一個(gè)糟糕的副本,因?yàn)樗鼰o(wú)法被檢索。但是我找了一切借口去盡量使用這本“書(shū)”。

這個(gè)例子說(shuō)明了兩個(gè)關(guān)鍵點(diǎn),這兩點(diǎn)在我學(xué)習(xí)數(shù)據(jù)科學(xué)的過(guò)程中一直伴隨著我:

  • 學(xué)一個(gè)新技能***的方法是找一個(gè)亟需解決的問(wèn)題。
  • 你不必等到完全精通一個(gè)技能才開(kāi)始使用它。

依靠短短幾行的代碼和一本免費(fèi)的在線圖書(shū),我編寫(xiě)了一段真正可以應(yīng)用的程序。學(xué)習(xí)基礎(chǔ)知識(shí)有時(shí)是很無(wú)聊的,當(dāng)我***次嘗試學(xué)習(xí)Python時(shí),因?yàn)楦悴欢當(dāng)?shù)據(jù)結(jié)構(gòu)以及循環(huán)這類的概念,僅僅幾個(gè)小時(shí)就放棄了。而調(diào)整策略以后,我開(kāi)始為現(xiàn)實(shí)中的問(wèn)題尋找解決方案,并且在這過(guò)程中學(xué)習(xí)到了基礎(chǔ)知識(shí)。編程和數(shù)據(jù)科學(xué)有太多需要學(xué)習(xí)了,但是你不必一口吃成個(gè)大胖子,一次學(xué)完所有的知識(shí)。找到一個(gè)需要解決的問(wèn)題,然后開(kāi)始學(xué)習(xí)吧!

在這之后,我做了一些更復(fù)雜的項(xiàng)目,但我仍然記得這段有趣的Python編程初體驗(yàn)。

原文鏈接:

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

【本文是51CTO專欄機(jī)構(gòu)大數(shù)據(jù)文摘的原創(chuàng)譯文,微信公眾號(hào)“大數(shù)據(jù)文摘( id: BigDataDigest)”】

     大數(shù)據(jù)文摘二維碼

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO專欄
相關(guān)推薦

2021-06-10 10:53:32

Python代碼zip

2018-04-24 16:01:46

代碼數(shù)據(jù)可視化Python

2015-04-02 11:17:20

2021-04-08 09:14:24

js前端函數(shù)

2020-10-26 10:11:45

Jupyter Not早起Python開(kāi)發(fā)

2018-02-24 10:56:29

PythonPygameJavaScript

2021-07-12 09:17:54

Memory Comp系統(tǒng)內(nèi)存

2020-01-03 16:06:38

代碼開(kāi)發(fā)工具

2009-09-17 13:44:19

2011-08-23 09:35:23

MavenJava

2020-06-10 07:49:56

Python代碼開(kāi)發(fā)工具

2018-10-15 09:30:11

ChromeYouTubeLinux

2011-09-07 17:19:16

Web widget

2020-08-13 18:54:53

Python代碼解釋器

2018-07-25 13:34:14

Python微信撤回

2022-05-01 21:49:06

Python

2020-01-03 10:24:06

Python 開(kāi)發(fā)編程語(yǔ)言

2020-11-23 16:18:21

Python開(kāi)發(fā)工具

2017-03-01 19:48:02

Node瀏覽器JavaScript

2022-12-12 12:04:59

ChatGPT代碼軟件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)