作为一名程序员,每天有很多问题需要通过编码来解决。有些问题仅仅通过Python标准库是无法轻易解决的。本文分享一些今天高频问题的解决方法,可以作为手边的工具箱。您可以先预订。1.测试网络速度,选择最佳服务器这个脚本可以测试上传下载速度,同时还提供函数get_best_server来选择最佳服务器,在客户端和多服务器模式下非常实用。脚本:#pipinstallpyspeedtest#pipinstallspeedtest#pipinstallspeedtest-cli#方法1importspeedtestspeedTest=speedtest.Speedtest()print(speedTest.get_best_server())#查看下载速度print(speedTest.download())#查看上传速度print(speedTest.upload())#method2importpyspeedtestst=pyspeedtest.SpeedTest()st.ping()st.download()st.upload()2.使用google搜索关键词有时为了引导用户使用搜索引擎,我们可以直接使用google对错误的关键词进行搜索下,将结果显示在界面上,让用户直接点击链接查看搜索结果,非常方便,也不需要复制关键词,打开浏览器搜索等一系列的麻烦。#pipinstallgooglefromgooglesearchimportsearchquery="somenzz"forurlinsearch(query):print(url)打印的结果是google搜索结果的url列表。同样,百度、必应也应该有相应的库。您可以搜索以下内容。3.我们之前分享过webrobot。硒和剧作家都可以。我个人更喜欢playwrightselenium示例代码:#pipinstallseleniumimporttimefromseleniumimportwebdriverfromselenium.webdriver.common.keysimportKeysbot=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示例代码:#pipinstallplaywright#playwrightinstallsfromplaywright.sync_apiimportsync_playwrightwithsync_playwright()asp:browser=p.chromium.launch()page=browser.new_page()page.goto("http://playwright.dev")print(page.title())browser.close()4.获取图片exif信息有两种方式,一种一种是用pillow,另一种是用exifread:#GetExifofPhoto#Method1#pipinstallpillowimportPIL.ImageimportPIL.ExifTagsimg=PIL.Image.open("Img.jpg")exif_data={PIL.ExifTags.TAGS[i]:jfori,jinimg._getexif().items()ifiinPIL.ExifTags.TAGS}print(exif_data)#Method2#pipinstallExifReadimportexifreadfilename=open(path_name,'rb')tags=exifread.process_file(filename)print(tags)想查找和删除exif信息可以看上一篇Python自动化办公-玩转图片-3中的第三小结。删除图片的元数据5、OCROCR的全称是OpticalCharacterRecognition,即光学字符识别。通俗地说,就是文字识别。这是一个非常简单的Windows脚本,但您需要在GitHub上下载tesseract.exe[1]。#pipinstallpytesseractimportpytesseractfromPILimportImagepytesseract.pytesseract.tesseract_cmd=r'C:\)6.将照片转换成卡通图片#pipinstallopencv-pythonimportcv2img=cv2.imread('img.jpg')grayimg=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)grayimg=cv2.medianBlur(grayimg,5)edges=cv2.拉普拉斯算子(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.binrecycle.bin是系统回收站中各个磁盘上的链接文件夹,用来保存磁盘上删除的文件或文件夹信息是系统的重要隐藏文件;默认情况下,它会占用用户设置的磁盘容量,因此在用户清空回收站后空间不会被释放。#pipinstallwinshellimportwinshelltry:winshell.recycle_bin().empty(confirm=False,show_progress=False,sound=True)print("Recyclebinhasbeenemptyed")except:print("Recyclebinisanemptyfile")8、pdf转图片和pdf将文件转换为多张图片importfitzpdf='sample_pdf.pdf'doc=fitz.open(pdf)forpageindoc:pix=page.getPixmap(alpha=False)pix.writePNG('page-%i.png'%page.number)9.十六进制转RGBdefHex_to_Rgb(hex):h=hex.lstrip('#')returntuple(int(h[i:i+2],16)foriin(0,2,4))print(Hex_to_Rgb('#c96d9d'))#(201,109,157)print(Hex_to_Rgb('#fa0515'))#(250,5,21)10.查看网站是否离线我们可以通过状态码来判断一个网站的服务是否正常运行的http。#pipinstallrequests#方法1importurllib.requestfromurllib.requestimportRequest,urlopenreq=Request('https://somenzz.cn',headers={'User-Agent':'Mozilla/5.0'})webpage=urlopen(req).getcode()print(webpage)#200#method2importrequestsr=requests.get("https://somenzz.cn")print(r.status_code)#200最后分享10个日常实用的小脚本,希望能吸引其他的,基于此你可以写出更好更强大的程序!本文转载自微信公众号“Python7号”,可通过以下二维码关注。转载本文请联系Python七号公众号。
