13 个用于日常编程的高级 Python 脚本
2022-12-10 08:31:5 Author: 天驿安全(查看原文) 阅读量:10 收藏

英文 | https://pythonians.medium.com/13-advanced-python-scripts-for-everyday-programming-8de4c6dba476

翻译 | 杨小爱

每天我们都会面临许多需要高级编码的编程挑战。你不能用简单的 Python 基本语法来解决这些问题。在本文中,我将分享 13 个高级 Python 脚本,它们可以成为你项目中的便捷工具。如果你目前还用不到这些脚本,你可以先添加收藏,以备留用。 

好了,我们现在开始吧。

1. 使用 Python 进行速度测试

这个高级脚本帮助你使用 Python 测试你的 Internet 速度。只需安装速度测试模块并运行以下代码。

# pip install pyspeedtest# pip install speedtest# pip install speedtest-cli#method 1import speedtestspeedTest = speedtest.Speedtest() print(speedTest.get_best_server())#Check download speedprint(speedTest.download())#Check upload speedprint(speedTest.upload())# Method 2import pyspeedtestst = pyspeedtest.SpeedTest()st.ping()st.download()st.upload()

2. 在谷歌上搜索

你可以从 Google 搜索引擎中提取重定向 URL,安装以下提及模块并遵循代码。

# pip install googlefrom googlesearch import searchquery = "Medium.com"
for url in search(query): print(url)

3.制作网络机器人

该脚本将帮助你使用 Python 自动化网站。 你可以构建一个可控制任何网站的网络机器人。查看下面的代码,这个脚本在网络抓取和网络自动化中很方便。

# pip install seleniumimport timefrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysbot = webdriver.Chrome("chromedriver.exe")bot.get('http://www.google.com')search = bot.find_element_by_name('q')search.send_keys("@codedev101")search.send_keys(Keys.RETURN)time.sleep(5)bot.quit()

4. 获取歌曲歌词

这个高级脚本将向你展示如何从任何歌曲中获取歌词。首先,你必须从 Lyricsgenius 网站获得免费的 API 密钥,然后,你必须遵循以下代码。

# pip install lyricsgeniusimport lyricsgeniusapi_key = "xxxxxxxxxxxxxxxxxxxxx"genius = lyricsgenius.Genius(api_key)artist = genius.search_artist("Pop Smoke", max_songs=5,sort="title")song = artist.song("100k On a Coupe")print(song.lyrics)

5.获取照片的Exif数据

使用 Python Pillow 模块获取任何照片的 Exif 数据。查看下面提到的代码。我提供了两种方法来提取照片的 Exif 数据。

# Get Exif of Photo# Method 1# pip install pillowimport PIL.Imageimport PIL.ExifTagsimg = 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 ExifReadimport exifreadfilename = open(path_name, 'rb')tags = exifread.process_file(filename)print(tags)

6. 提取图像中的 OCR 文本

OCR 是一种从数字和扫描文档中识别文本的方法。许多开发人员使用它来读取手写数据,下面的 Python 代码可以将扫描的图像转换为 OCR 文本格式。

注意:你必须从 Github 下载 tesseract.exe

# pip install pytesseractimport pytesseractfrom 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)

7.将照片转换为Cartonize

这个简单的高级脚本会将你的照片转换为 Cartonize 格式。查看下面的示例代码并尝试一下。

# pip install opencv-pythonimport 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)

8.清空回收站

这个简单的脚本可以让你用 Python 清空你的回收站,查看下面的代码以了解如何操作。

# pip install winshellimport winshelltry:    winshell.recycle_bin().empty(confirm=False, /show_progress=False, sound=True)    print("Recycle bin is emptied Now")except:    print("Recycle bin already empty")

9. Python 图像增强

使用 Python Pillow 库增强你的照片以使其看起来更好。在下面的代码中,我实现了四种方法来增强任何照片。

# pip install pillowfrom PIL import Image,ImageFilterfrom PIL import ImageEnhance
im = Image.open('img.jpg')
# Choose your filter# add Hastag at start if you don't want to any filter belowen = ImageEnhance.Color(im)en = ImageEnhance.Contrast(im)en = ImageEnhance.Brightness(im)en = ImageEnhance.Sharpness(im)# resulten.enhance(1.5).show("enhanced")

10. 获取 Window 版本

这个简单的脚本将帮助你获得当前使用的完整窗口版本。

# Window Versionimport wmidata = wmi.WMI()for os_name in data.Win32_OperatingSystem():  print(os_name.Caption)# Microsoft Windows 11 Home

11. 将 PDF 转换为图像

使用以下代码将所有 Pdf 页转换为图像。

# PDF to Imagesimport fitzpdf = 'sample_pdf.pdf'doc = fitz.open(pdf)
for page in doc: pix = page.getPixmap(alpha=False) pix.writePNG('page-%i.png' % page.number)

12. 转换:十六进制到 RGB

该脚本将简单地将 Hex 转换为 RGB。查看下面的示例代码。

# Conversion: Hex to RGBdef 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)

13. 网站状态

你可以使用 Python 检查网站是否正常运行。检查以下代码,显示200 ,表示网站已启动,如果显示为 404 ,则表示网站已关闭。

# pip install requests#method 1import urllib.requestfrom urllib.request import Request, urlopenreq = Request('https://medium.com/@pythonians', headers={'User-Agent': 'Mozilla/5.0'})webpage = urlopen(req).getcode()print(webpage)  # 200# method 2import requestsr = requests.get("https://medium.com/@pythonians")print(r.status_code) # 200
总结
以上就是我今天跟你分享的13个Python技巧知识,如果你觉得有用的话,请记得点赞我,关注我,并将这篇文章分享给Python开发者或者热爱Python编程的朋友。
如果你还有什么想看想学的内容,请随时在下面的评论中留言,我会根据情况分享你需要的相关内容。
最后,感谢阅读,Python编程快乐!

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNjIxNDQyMQ==&mid=2247493751&idx=1&sn=7059cfb94ad3fcc558588f9d979ff1d0&chksm=c151ef8df626669b2a1187384ee00820322f01a51e4c8ceffdfe33644170a8d860c47397e474#rd
如有侵权请联系:admin#unsafe.sh