当前位置: 首页 > 科技观察

您必须尝试的这10个神奇的Python库!

时间:2023-03-18 00:23:49 科技观察

Python有很多很酷的第三方库,可以使任务更容易。今天给大家分享10个有趣的Python库,每一个都非常实用!它们是speedtest、socket、textblob、pygame、pyqrcode、pyshorteners、googletrans、pendulum、fabulous、pywebview。给大家介绍一下~①speedtest(网速测试)Speedtest模块可以测试电脑的网络带宽。使用百度源安装库。#安装speedtestpipinstallspeedtest-ihttps://mirror.baidu.com/pypi/simple/使用时需要取消证书验证。importspeedtest#全局取消证书验证importsslsslssl._create_default_https_context=ssl._create_unverified_contexttest=speedtest.Speedtest()down=test.download()upload=test.upload()print(f"上传速度:{round(upload/(1024*1024),2)}Mbps")print(f"下载速度:{round(down/(1024*1024),2)}Mbps")结果如下。上传速度:31.3Mbps下载速度:86.34Mbps看来小F的网速还是挺快的。②socket(获取本机ip地址)使用socket,先获取本机的主机名,再获取本机的IP地址。其中socket是Python内置的标准库,不需要安装。importsocketasfhostn=f.gethostname()Laptop=f.gethostbyname(hostn)print("你的电脑本地IP地址是:"+Laptop)结果如下,这个IP就是局域网内的IP。你电脑的本地IP地址是:192.168.2.101如果你想获取电脑的公网IP地址,可以使用一些第三方网站,比如下面的。#浏览器访问,返回公网IP地址https://jsonip.com代码如下,同时取消证书验证。importjsonfromurllib.requestimporturlopen#全局取消证书验证importsslsslssl._create_default_https_context=ssl._create_unverified_contextwithurlopen(r'https://jsonip.com')asfp:content=fp.read().decode()ip=json.loads(content)['ip']print("您的电脑公网IP地址为:"+ip)向网站发起请求,解析返回结果。最终成功获取到公网IP地址。#这里随便写一个~你电脑的公网IP地址是:120.236.128.201③textblob(文本处理)TextBlob是一个处理文本数据的Python库,只做英文分析。ChinesecanuseSnowNLP,它可以轻松处理中文文本内容,灵感来自TextBlob。让我们对英语进行拼写检查。fromtextblobimportTextBloba=TextBlob("Idreamaboutworkinwithgoofcompany")aa=a.correct()print(a)结果如下。Idreamaboutworkingwithgoodcompany可以看到句子中的字已经改正了。④pygame(制作游戏)pygame,一个制作游戏的Python库。它不仅为开发者提供了制作游戏的图形和声音库,还使用内置模块来实现复杂的游戏逻辑。下面我们用pygame做一个小型的音乐播放器。frompygameimportmixerimportpygameimportsyspygame.display.set_mode([300,300])music="my_dream.mp3"mixer.init()mixer.music.load(music)mixer.music.play()#点击×关闭界面代码while1:foreventinpygame.event.get():ifevent.type==pygame.QUIT:sys.exit()运行上面的代码,电脑就会播放音乐了。pygame必须要加图形界面,否则没有声音。⑤pyqrcode(生成二维码)二维码简称QRCode(QuickResponseCode),学名QuickResponseMatrixCode,是二维条码的一种。它于1994年由日本DensoWave公司发明。现在随着智能手机的普及,它已经广泛应用于日常生活中,如商品信息查询、与社交好友互动、网址获取等。pyqrcode模块是一个QR码生成器,使用简单,纯python编写。安装。#installpyqrcodepipinstallpyqrcode-ihttps://mirror.baidu.com/pypi/simple/下面会生成一个“百度”的二维码。importpyqrcodeimportpngfrompyqrcodeimportQRCodeinpStr="www.baidu.com"qrc=pyqrcode.create(inpStr)qrc.png("baidu.png",scale=6)得到二维码图片如下。微信扫描的内容是文本内容,是百度网址,应该是被操作过的。用手机浏览器扫描,可以正常跳转到网页。文档:https://pythonhosted.org/PyQRCode/⑥pyshorteners(短URL)pyshorteners是一个简单的URL缩短Python库。提供18个短链根域名供使用。安装。#安装pyshortenerspipinstallpyshorteners-ihttps://mirror.baidu.com/pypi/simple/以clck.ru格式为例。importpyshortenersaspsnurl="http://www.shuhai.com/"u=psn.Shortener().clckru.short(url)print(u)得到结果如下。#Resulthttps://clck.ru/WPJgg可以正常访问了。文档:https://pyshorteners.readthedocs.io/en/latest/⑦googletrans(翻译)Googletrans是一个免费无限的Python翻译库,可用于自动检测语言类型、翻译等。安装3.1.0a0版本,最新版本无法使用。#安装googletranspipinstallgoogletrans==3.1.0a0-ihttps://mirror.baidu.com/pypi/simple/查看所有支持的语言。importgoogletransfromgoogletransimportTranslatorprint(googletrans.LANGUAGES)的结果如下,有简体和繁体两种中文。LANGUAGES={'af':'南非荷兰语','Sq':'阿尔巴尼亚语','Am':'阿姆哈拉语','Ar':'阿拉伯语','Hy':'亚美尼亚语','Az':'阿塞拜疆语','eu':'巴斯克语','be':'白俄罗斯语','bn':'孟加拉语','bs':'波斯尼亚语','bg':'保加利亚语','ca':'加泰罗尼亚语','ceb':'cebuano','ny':'chichewa','zh-cn':'chinese(simplified)','zh-tw':'chinese(traditional)','co':'corsican','hr':'克罗地亚语','cs':'捷克语','da':'丹麦语','nl':'荷兰语','en':'英语','eo':'世界语','et':'爱沙尼亚','tl':'菲律宾','fi':'芬兰','fr':'法国','fy':'弗里斯兰','gl':'加利西亚','ka':'georgian','de':'german','el':'greek','gu':'gujarati','ht':'haitiancreole','ha':'hausa','haw':'夏威夷','iw':'hebrew','he':'hebrew','hi':'hindi','hmn':'hmong','hu':'匈牙利语','is':'冰岛语','ig':'igbo','id':'indonesian','ga':'irish','it':'italian','ja':'japanese','jw':'javanese','kn':'kannada','kk':'kazakh','km':'khmer','ko':'korean','ko':'kurdish(kurmanji)','ky':'kyrgyz','lo':'老挝','la':'拉丁','lv':'拉脱维亚','lt':'立陶宛','lb':'卢森堡','mk':'macedonian','mg':'malagasy','ms':'malay','ml':'malayalam','mt':'maltese','mi':'maori','mr':'marathi','mn':'mongolian','my':'myanmar(burmese)','ne':'nepali','no':'norwegian','or':'odia','ps':'pashto','fa':'波斯语','pl':'波兰语','pt':'葡萄牙语','pa':'旁遮普语','ro':'罗马尼亚语','ru':'俄语','sm':'samoan','gd':'scotsgaelic','sr':'serbian','st':'sesotho','sn':'shona','sd':'sindhi','si':'僧伽罗语','sk':'斯洛伐克语','sl':'斯洛文尼亚语','so':'索马里语','es':'西班牙语','su':'巽他语','sw':'swahili','sv':'瑞典语','tg':'塔吉克语','ta':'泰米尔语','te':'泰卢固语','th':'泰语','tr':'土耳其语','uk':'ukrainian','ur':'urdu','ug':'uyghur','uz':'uzbek','vi':'vietnamese','cy':'welsh','xh':'xhosa','yi':'yiddish','yo':'yoruba','zu':'zulu',}翻译一句“你好”试试translator=Translator()out=translater。translate("Hello",dest='en',src='auto')print(out)的结果如下。#TranslationresultTranslated(src=zh-CN,dest=en,text=Hello,pronunciation=None,extra_data="{'translat...")src:源文本的语言dest:源的语言文本被转换。text:Theresultofthetranslation文档:https://py-googletrans.readthedocs.io/en/latest/⑧pendulum(time)Pendulum是一个用于处理日期和时间的Python库,当时区不一致时非常有用涉及。安装。#installpendulumpipinstallpendulum-ihttps://mirror.baidu.com/pypi/simple/看2分钟前的时间。importpendulumpast=pendulum.now().subtract(minutes=2)print(past.diff_for_humans())print(past)结果如下。2minutesago2021-07-25T19:10:09.222953+08:00还有很多方便使用的地方,可以查看文档。使用文档地址:https://pendulum.eustace.io/⑨fabulous(添加文字颜色)如果你是在命令行运行Python程序,输出都是一样的颜色,不方便观察。使用Fabulous,您可以添加图像、彩色文本来突出您的输出。安装。#installfabulouspipinstallfabulous-ihttps://mirror.baidu.com/pypi/simple/下面看个例子吧!fromfabulous.colorimportbold,magenta,highlight_redprint(bold(magenta("""helloworldthisissomenewlineandhereisthelastline.:)""")))结果如下,输出字体为粗体和彩色。更多配置可以访问文档:https://jart.github.io/fabulous/⑩pywebview(GUI浏览器)pywebview是一个以GUI形式显示HTML、CSS和JavaScript内容的Python库。这意味着使用这个库,您可以在桌面应用程序中显示网页。安装。#Installpywebviewpipinstallpywebview-ihttps://mirror.baidu.com/pypi/simple/为给定的网站启动一个窗口并运行下面的代码。importwebviewwindow=webview.create_window(title='百度,全是广告',url='http://www.baidu.com',width=850,height=600,resizable=False,#固定窗口大小text_select=False,#禁止选择文本内容confirm_close=True#关闭时提示)webview.start()结果如下:好了,本期的分享到此结束。总的来说,这些小众的Python库非常有用。有兴趣的小伙伴可以查阅相关文档,自行学习。