<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          分享 10 個日常使用的腳本

          共 4045字,需瀏覽 9分鐘

           ·

          2022-01-15 03:38

          作為程序員,每天都很多問題需要編碼來解決,有些問題僅通過 Python 的標(biāo)準(zhǔn)庫并不能輕松解決,本文今天分享一些高頻問題的解決方案,可以作為一個手邊的工具箱,你可以先收藏備用。

          1、測網(wǎng)速,選擇最佳服務(wù)器

          這個腳本可以測試上傳、下載速度,也提供了函數(shù) get_best_server 來選擇最佳服務(wù)器,在客戶端和多服務(wù)器模式中非常實用。

          腳本:

          #?pip?install?pyspeedtest
          #?pip?install?speedtest
          #?pip?install?speedtest-cli
          #方法1
          import?speedtest
          speedTest?=?speedtest.Speedtest()?
          print(speedTest.get_best_server())
          #檢查下載速度?
          print(speedTest.download())
          #檢查上傳速度
          print(speedTest.upload())
          #方法2
          import?pyspeedtest
          st?=?pyspeedtest.SpeedTest()
          st.ping()
          st.download()
          st.upload()

          2、使用 google 搜索關(guān)鍵詞

          有時候為了引導(dǎo)用戶使用搜索引擎,我們可以直接將錯誤關(guān)鍵詞用 google 搜索下,將結(jié)果顯示在界面上,這樣用戶可以直接點擊鏈接來查看搜索結(jié)果,很方便,不需要再復(fù)制關(guān)鍵詞,打開瀏覽器搜素等一系列麻煩。

          #pip?install?google
          from?googlesearch?import?search
          query?=?"somenzz"

          for?url?in?search(query):
          ????print(url)

          print 的結(jié)果就是 google 搜索結(jié)果的 url 列表,類似的,百度和 bing 也應(yīng)該有對應(yīng)的庫,你可以搜索以下。

          3、Web 機器人

          這個咱之前已經(jīng)分享過了,selenium 和 playwright 都可以,我個人更喜歡 playwright

          selenium 示例代碼:

          #?pip?install?selenium
          import?time
          from?selenium?import?webdriver
          from?selenium.webdriver.common.keys?import?Keys
          bot?=?webdriver.Chrome("chromedriver.exe")
          bot.get('http://www.google.com')
          search?=?bot.find_element_by_name('q')
          search.send_keys("somenzz")
          search.send_keys(Keys.RETURN)
          time.sleep(5)
          bot.quit()

          playwright 示例代碼:

          #pip?install?playwright
          #playwright?install
          from?playwright.sync_api?import?sync_playwright

          with?sync_playwright()?as?p:
          ????browser?=?p.chromium.launch()
          ????page?=?browser.new_page()
          ????page.goto("http://playwright.dev")
          ????print(page.title())
          ????browser.close()

          前文:

          4、獲取圖片的 exif 信息

          有兩種方法獲取,一個是使用 pillow,一個是使用 exifread:

          #?Get?Exif?of?Photo
          #?Method?1
          #?pip?install?pillow
          import?PIL.Image
          import?PIL.ExifTags
          img?=?PIL.Image.open("Img.jpg")
          exif_data?=?
          {
          ????PIL.ExifTags.TAGS[i]:?j
          ????for?i,?j?in?img._getexif().items()
          ????if?i?in?PIL.ExifTags.TAGS
          }
          print(exif_data)

          #?Method?2
          #?pip?install?ExifRead
          import?exifread
          filename?=?open(path_name,?'rb')
          tags?=?exifread.process_file(filename)
          print(tags)

          如果查找并刪除 exif 信息,可以看下前文Python自動化辦公-玩轉(zhuǎn)圖片 中的第三小結(jié)-3、刪除圖片的元數(shù)據(jù)。

          5、OCR

          OCR 的全稱是 Optical Character Recognition,即光學(xué)字符識別,通俗點講就是文字識別,這里有個很簡單的腳本,適用于 Windows,不過需要你在 GitHub 上下載 tesseract.exe[1]。

          #?pip?install?pytesseract
          import?pytesseract
          from?PIL?import?Image

          pytesseract.pytesseract.tesseract_cmd?=?r'C:\Program?Files\Tesseract-OCR\tesseract.exe'

          t=Image.open("img.png")
          text?=?pytesseract.image_to_string(t,?config='')
          print(text)

          6、將照片轉(zhuǎn)換為卡通圖片

          #?pip?install?opencv-python
          import?cv2

          img?=?cv2.imread('img.jpg')
          grayimg?=?cv2.cvtColor(img,?cv2.COLOR_BGR2GRAY)
          grayimg??=?cv2.medianBlur(grayimg,?5)

          edges?=?cv2.Laplacian(grayimg?,?cv2.CV_8U,?ksize=5)
          r,mask?=cv2.threshold(edges,100,255,cv2.THRESH_BINARY_INV)
          img2?=?cv2.bitwise_and(img,?img,?mask=mask)
          img2?=?cv2.medianBlur(img2,?5)

          cv2.imwrite("cartooned.jpg",?mask)

          對比下就是這樣:

          7、清空 recycle.bin

          recycle.bin 是系統(tǒng)回收站在每一個磁盤上的鏈接文件夾,用于保存磁盤上刪除的文件或者文件夾信息,是系統(tǒng)重要的隱藏文件;默認(rèn)情況下,會占用用戶設(shè)置過的磁盤的容量,因此,用戶清空回收站之后不會釋放空間。

          #?pip?install?winshell
          import?winshell

          try:
          ????winshell.recycle_bin().empty(confirm=False,?show_progress=False,?sound=True)
          ????print("Recycle?bin?已本清空")
          except:
          ????print("Recycle?bin?是空文件")

          8、pdf 轉(zhuǎn)圖片

          將 pdf 文件轉(zhuǎn)成多個圖片

          import?fitz
          pdf?=?'sample_pdf.pdf'
          doc?=?fitz.open(pdf)
          ?
          for?page?in?doc:
          ????pix?=?page.getPixmap(alpha=False)
          ????pix.writePNG('page-%i.png'?%?page.number)

          9、Hex 轉(zhuǎn) RGB

          def?Hex_to_Rgb(hex):
          ????h?=?hex.lstrip('#')
          ????return?tuple(int(h[i:i+2],?16)?for?i?in?(0,?2,?4))
          print(Hex_to_Rgb('#c96d9d'))??#?(201,?109,?157)
          print(Hex_to_Rgb('#fa0515'))?#?(250,?5,?21)

          10、檢查網(wǎng)站是否下線

          我們可以通過 http 的狀態(tài)碼判斷一個網(wǎng)站的服務(wù)是否正常運行。

          #?pip?install?requests

          #?方法?1
          import?urllib.request
          from?urllib.request?import?Request,?urlopen
          req?=?Request('https://somenzz.cn',?headers={'User-Agent':?'Mozilla/5.0'})
          webpage?=?urlopen(req).getcode()
          print(webpage)?#?200
          #?方法?2
          import?requests
          r?=?requests.get("https://somenzz.cn")
          print(r.status_code)?#?200

          最后的話

          本文分享了 10 日常實用的小腳本,希望能拋磚引玉,基于此你可以寫出更好用更強大的程序,如果有所幫助,還請點個贊,也可以留言互動。

          推薦閱讀:

          分享6個實用的Python自動化腳本

          分享 6 個實用的輪子

          5個高效實用的內(nèi)置迭代器

          分享幾個實用的問題

          Python 標(biāo)準(zhǔn)庫中最有用的裝飾器

          參考資料

          [1]

          tesseract.exe: https://tesseract-ocr.github.io/tessdoc/Downloads.html


          瀏覽 55
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成 人 在线偷拍视频 | 日韩欧美高清视频 | 91探花国产综合在线精品 | 做爱视频无码免费网站 | 免费看黄色打 |