Python自动化(python自动化测试面试题)

网友投稿 304 2022-08-26


Python自动化(python自动化测试面试题)

相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。

编程世界里有各种各样的自动化脚本,来完成不同的任务。

尤其Python非常适合编写自动化脚本,因为它语法简洁易懂,而且有丰富的第三方工具库。

这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中。

1、自动化阅读网页新闻

这个脚本能够实现从网页中抓取文本,然后自动化语音朗读,当你想听新闻的时候,这是个不错的选择。

代码分为两大部分,第一通过爬虫抓取网页文本呢,第二通过阅读工具来朗读文本。

需要的第三方库:

Beautiful Soup - 经典的HTML/XML文本解析器,用来提取爬下来的网页信息

requests - 好用到逆天的HTTP工具,用来向网页发送请求获取数据

Pyttsx3 - 将文本转换为语音,并控制速率、频率和语音

importpyttsx3importrequestsfrom bs4importBeautifulSoupengine = pyttsx3.init('sapi5')voices = engine.getProperty('voices')newVoiceRate =130## Reduce The Speech Rateengine.setProperty('rate',newVoiceRate)engine.setProperty('voice', voices[1].id)def speak(audio):engine.say(audio)engine.runAndWait()text = str(input("Paste article\n"))res = requests.get(text)soup = BeautifulSoup(res.text,'html.parser')articles = []fori inrange(len(soup.select('.p'))):article = soup.select('.p')[i].getText().strip()articles.append(article)text =" ".join(articles)speak(text)# engine.save_to_file(text,'test.mp3') ## If you want to save the speech as a audio fileengine.runAndWait()

2、自动生成素描草图

这个脚本可以把彩色图片转化为铅笔素描草图,对人像、景色都有很好的效果。

而且只需几行代码就可以一键生成,适合批量操作,非常的快捷。

需要的第三方库:

Opencv - 计算机视觉工具,可以实现多元化的图像视频处理,有Python接口

""" Photo Sketching Using Python """importcv2img = cv2.imread("elon.jpg")## Image to Gray Imagegray_image = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)## Gray Image to Inverted Gray Imageinverted_gray_image =255-gray_image## Blurring The Inverted Gray Imageblurred_inverted_gray_image = cv2.GaussianBlur(inverted_gray_image, (19,19),0)## Inverting the blurred imageinverted_blurred_image =255-blurred_inverted_gray_image### Preparing Photo sketchingsketck = cv2.divide(gray_image, inverted_blurred_image,scale=256.0)cv2.imshow("Original Image",img)cv2.imshow("Pencil Sketch", sketck)cv2.waitKey(0)

3、自动发送多封邮件

这个脚本可以帮助我们批量定时发送邮件,邮件内容、附件也可以自定义调整,非常的实用。

相比较邮件客户端,Python脚本的优点在于可以智能、批量、高定制化地部署邮件服务。

需要的第三方库:

Email - 用于管理电子邮件消息

Smtlib - 向SMTP服务器发送电子邮件,它定义了一个 SMTP 客户端会话对象,该对象可将邮件发送到互联网上任何带有 SMTP 或 ESMTP 监听程序的计算机

Pandas - 用于数据分析清洗地工具

importsmtplibfrom email.messageimportEmailMessageimportpandas as pddef send_email(remail, rsubject, rcontent):email = EmailMessage() ## Creating a objectforEmailMessageemail['from'] ='The Pythoneer Here'## Person who is sendingemail['to'] = remail ## Whom we are sendingemail['subject'] = rsubject ## Subject of emailemail.set_content(rcontent) ## content of emailwith smtplib.SMTP(host='smtp.gmail.com',port=587)as smtp:smtp.ehlo() ## server objectsmtp.starttls() ## used to send data between server and clientsmtp.login("deltadelta371@gmail.com","delta@371") ## login id and password of gmailsmtp.send_message(email) ## Sending emailprint("email send to ",remail) ## Printing success messageif__name__ =='__main__':df = pd.read_excel('list.xlsx')length =len(df)+1forindex, item in df.iterrows():email = item[0]subject = item[1]content = item[2]send_email(email,subject,content)

4、自动化数据探索

数据探索是数据科学项目的第一步,你需要了解数据的基本信息才能进一步分析更深的价值。

一般我们会用pandas、matplotlib等工具来探索数据,但需要自己编写大量代码,如果想提高效率,Dtale是个不错的选择。

Dtale特点是用一行代码生成自动化分析报告,它结合了Flask后端和React前端,为我们提供了一种查看和分析Pandas数据结构的简便方法。

我们可以在Jupyter上实用Dtale。

需要的第三方库:

Dtale - 自动生成分析报告

### Importing Seaborn Library For Some Datasetsimportseaborn as sns### Printing Inbuilt Datasets of Seaborn Libraryprint(sns.get_dataset_names())### Loading Titanic Datasetdf=sns.load_dataset('titanic')### Importing The Libraryimportdtale#### Generating Quick Summarydtale.show(df)

5、自动桌面提示

这个脚本会自动触发windows桌面通知,提示重要事项,比如说:您已工作两小时,该休息了

我们可以设定固定时间提示,比如隔10分钟、1小时等

用到的第三方库:

win10toast - 用于发送桌面通知的工具

from win10toastimportToastNotifierimporttimetoaster = ToastNotifier()header = input("What You Want Me To Remember\n")text = input("Releated Message\n")time_min=float(input("In how many minutes?\n"))time_min = time_min *60print("Setting up reminder..")time.sleep(2)print("all set!")time.sleep(time_min)toaster.show_toast(f"{header}", f"{text}", duration=10, threaded=True)while toaster.notification_active(): time.sleep(0.005)

小结

Python能实现的自动化功能非常丰富,如果你可以“偷懒”的需求场景不妨试试。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于Java解决华为机试之字符串加解密
下一篇:python requests模块获取jfrog artifactory发版的版本号(python是干什么的)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~