哈喽 ~ 大家好,我是小圆
在我们工作的时候~经常会做一些重复的事情

比如:阅读新闻、发邮件、查看天气、清理文件夹等等

那有没有办法缩短甚至取消做这些东西的时间呢~

自然是有的!!那就是使用自动化脚本拉~

这样就不用我们手动一次又一次地完成这些任务了

今天就给大家带来8个python自动化脚本提高工作效率~

1.自动化阅读网页新闻

这个脚本能够实现从网页中抓取文本,然后自动化语音朗读

当你想听新闻的时候,这是个不错的选择。

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

需要的第三方库:

  • Beautiful Soup

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

  • requests

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

  • Pyttsx3

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

源码以及资料领取请点击

具体代码如下

python学习交流Q群:770699889 ###
import pyttsx3
import requests
from bs4 import BeautifulSoup
voices = engine.getProperty('voices')
newVoiceRate = 130                       ## Reduce The Speech Rate
engine.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)articles = []
for i in range(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 file
engine.runAndWait()

2.自动化数据探索

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

一般我们会用pandas、matplotlib等工具来探索数据

但需要自己编写大量代码,如果想提高效率,Dtale是个不错的选择。

Dtale特点是用一行代码生成自动化分析报告,它结合了Flask后端和React前端

为我们提供了一种查看和分析Pandas数据结构的简便方法。

我们可以在Jupyter上实用Dtale。

需要的第三方库:

  • Dtale

自动生成分析报告

获取资源链接点击

具体代码如下

### Importing Seaborn Library For Some Datasets
import seaborn as sns### Printing Inbuilt Datasets of Seaborn Library
print(sns.get_dataset_names())### Loading Titanic Dataset
df=sns.load_dataset('titanic')### Importing The Library
import dtale


3.自动发送多封邮件

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

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

需要的第三方库:

  • Email

用于管理电子邮件消息;

  • Smtlib

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

  • Pandas

用于数据分析清洗地工具;

具体代码如下:

import smtplib
from email.message import EmailMessagedef send_email(remail, rsubject, rcontent):email = EmailMessage()                          ## Creating a object for EmailMessageemail['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)+1for index, item in df.iterrows():email = item[0]subject = item[1]content = item[2]

4.从列表中播放随机音乐

这个脚本会从歌曲文件夹中随机选择一首歌进行播放,

需要注意的是 os.startfile

仅支持 Windows 系统。

具体代码如下:

import random, os
music_dir = 'G:\\new english songs'
songs = os.listdir(music_dir)
song = random.randint(0,len(songs))
print(songs[song])  ## Prints The Song Name
os.startfile(os.path.join(music_dir, songs[0]))

5.智能天气信息

国家气象局网站提供获取天气预报的 API,直接返回 json 格式的天气数据。

所以只需要从 json 里取出对应的字段就可以了。

下面是指定城市(县、区)天气的网址,直接打开网址,就会返回对应城市的天气数据。

比如:

http://www.weather.com.cn/data/cityinfo/101021200.html 上海徐汇区对应的天气网址。

具体代码如下:

mport requests
import json
import logging as log def get_weather_wind(url): r = requests.get(url) if r.status_code != 200: log.error("Can't get weather data!") info = json.loads(r.content.decode()) # get wind data data = info['weatherinfo'] WD = data['WD'] WS = data['WS'] return "{}({})".format(WD, WS) def get_weather_city(url): # open url and get return data r = requests.get(url) if r.status_code != 200: log.error("Can't get weather data!") # convert string to json info = json.loads(r.content.decode()) # get useful data data = info['weatherinfo'] city = data['city'] temp1 = data['temp1'] temp2 = data['temp2'] weather = data['weather'] return "{} {} {}~{}".format(city, weather, temp1, temp2) if __name__ == '__main__': msg = """**天气提醒**:   {} {}
{} {}   来源: 国家气象局
""".format( get_weather_city('http://www.weather.com.cn/data/cityinfo/101021200.html'), get_weather_wind('http://www.weather.com.cn/data/sk/101021200.html'), get_weather_city('http://www.weather.com.cn/data/cityinfo/101020900.html'), get_weather_wind('http://www.weather.com.cn/data/sk/101020900.html')
) print(msg) 

6.将 PDF 转换为音频文件

脚本可以将 pdf 转换为音频文件

原理也很简单,首先用 PyPDF 提取 pdf 中的文本,然后用 Pyttsx3 将文本转语音。

具体代码如下:

python学习交流Q群:770699889 ###
import pyttsx3,PyPDF2
pdfreader = PyPDF2.PdfFileReader(open('story.pdf','rb'))
speaker = pyttsx3.init()
for page_num in range(pdfreader.numPages):    text = pdfreader.getPage(page_num).extractText()  ## extracting text from the PDF cleaned_text = text.strip().replace('\n',' ')  ## Removes unnecessary spaces and break lines print(cleaned_text)                ## Print the text from PDF #speaker.say(cleaned_text)        ## Let The Speaker Speak The Text speaker.save_to_file(cleaned_text,'story.mp3')  ## Saving Text In a audio file 'story.mp3' speaker.runAndWait()
speaker.stop()

7.长网址变短网址

有时,那些大URL变得非常恼火,很难阅读和共享,此脚本可以将长网址变为短网址。

获取资源链接点击

具体代码如下:

import contextlib
from urllib.parse import urlencode
from urllib.request import urlopen
import sys def make_tiny(url): request_url = ('http://tinyurl.com/api-create.php?' +  urlencode({'url':url})) with contextlib.closing(urlopen(request_url)) as response: return response.read().decode('utf-8') def main(): for tinyurl in map(make_tiny, sys.argv[1:]): print(tinyurl) if __name__ == '__main__': main()

8.清理下载文件夹

世界上最混乱的事情之一是开发人员的下载文件夹,

里面存放了很多杂乱无章的文件,

此脚本将根据大小限制来清理您的下载文件夹,

有限清理比较旧的文件。

具体代码如下:

import os
import threading
import time def get_file_list(file_path):
#文件按最后修改时间排序 dir_list = os.listdir(file_path) if not dir_list: return else: dir_list = sorted(dir_list, key=lambda x: os.path.getmtime(os.path.join(file_path, x))) return dir_list def get_size(file_path): """[summary] Args: file_path ([type]): [目录] python学习交流Q群:770699889 ###Returns: [type]: 返回目录大小,MB """ totalsize=0 for filename in os.listdir(file_path): totalsize=totalsize+os.path.getsize(os.path.join(file_path, filename)) #print(totalsize / 1024 / 1024) return totalsize / 1024 / 1024 def detect_file_size(file_path, size_Max, size_Del): """[summary] Args: file_path ([type]): [文件目录] size_Max ([type]): [文件夹最大大小] size_Del ([type]): [超过size_Max时要删除的大小] """ print(get_size(file_path)) if get_size(file_path) > size_Max: fileList = get_file_list(file_path) for i in range(len(fileList)): if get_size(file_path) > (size_Max - size_Del): print ("del :%d %s" % (i + 1, fileList[i])) #os.remove(file_path + fileList[i]) 

好啦,今天的分享到这里就结束了 ~
对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/

Python实现自动化脚本相关推荐

  1. Python接口自动化脚本业务框架总概(一)

    目录 接口自动化框架目录 基础类封装概览 基础类封装方法详解 Log.py文件 Request.py文件 Python是目前主流的接口自动化脚本语言之一. 本专栏将联系业务介绍使用python接口自动 ...

  2. 纽约蹭饭手册:怎样利用Python和自动化脚本在纽约省钱又省心?

    在家做饭不下馆子可以减少开支已经是公开的秘密.但作为一名美食天堂的国民,不下馆子几乎是不可能的. 到处都是火锅店.烧烤餐厅或美味披萨店,瞅一眼这些美食,就足以摧毁大家省钱的意志力. 如果你即不想让钱包 ...

  3. 纽约蹭饭手册:怎样利用Python和自动化脚本在纽约吃霸王餐?

    在家做饭不下馆子可以减少开支已经是公开的秘密.但作为一名美食天堂的国民,不下馆子几乎是不可能的. 到处都是火锅店.烧烤餐厅或美味披萨店,瞅一眼这些美食,就足以摧毁大家省钱的意志力. 如果你即不想让钱包 ...

  4. python写自动脚本下载_如何使用python写自动化脚本?

    第一次听到脚本,会不会觉得特别厉害呢?小编就有这样的感觉,事实上,脚本确实真的很厉害,能解决我们软件运行的大小问题,比如游戏时候,脚本也是很常见的哦~下面就教大家写脚本,一起来学习下吧~ 准备工具: ...

  5. 怎么去使用python写自动化脚本?

      第一次听到脚本,会不会觉得特别厉害呢?小编就有这样的感觉,事实上,脚本确实真的很厉害,能解决我们软件运行的大小问题,比如游戏时候,脚本也是很常见的哦下面就教大家写脚本,一起来学习下吧 准备工具: ...

  6. 如何使用python写自动化脚本?

    第一次听到脚本,会不会觉得特别厉害呢?小编就有这样的感觉,事实上,脚本确实真的很厉害,能解决我们软件运行的大小问题,比如游戏时候,脚本也是很常见的哦下面就教大家写脚本,一起来学习下吧 准备工具: 安装 ...

  7. Python+Selenium自动化脚本实现列表信息的多列内容获取

    自动化脚本实现列表信息的多列内容获取(列数目可变) 取出多列信息后显示为一个列表,根据列数目进行列表的拆分,最终展示为多个子列表 # 获取列表数据多列内容def get_list_multicolum ...

  8. python ui自动化脚本_ui自动化:python+appium----环境搭建

    前言: appium可以说是app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本支持java和python.以下为python+appium的安装教程... 环境准备... ...

  9. python安卓自动化脚本_Autojs-用JavaScript实现自己的安卓手机自动化工具脚本

    Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待 4999元包邮 去购买 > 我是风筝,公众号「古时的风筝」,一个不只有技术的技术公众号,一个在程 ...

最新文章

  1. Beyond Compare 3 许可证密钥被撤销
  2. [BLE--Link Layer]物理信道
  3. vue组件系列2、拖放上传
  4. Linux的Nginx九:负载均衡
  5. Microsoft Azure News(4) Azure新D系列虚拟机上线
  6. sqlplus 登录数据库
  7. python3.6打包成exe可执行文件、已解决方案_Python 3.6打包成EXE可执行程序的实现...
  8. 一个Demo让你掌握Android所有控件
  9. C++设计模式-使用Qt框架模拟策略模式(Strategy)商场促销
  10. (十三)java多线程之Timer
  11. laravel构造函数和中间件执行顺序问题
  12. 万能转换器boost::lexical_cast
  13. php设计一个盒子类代码_PHP设计模式之备忘录模式(Memento)代码实例大全(25)...
  14. Keil如何生成bin文件【Keil生成Bin文件的方法】
  15. vs 服务容器中已存在服务_无服务器vs容器,企业如何正确选择?
  16. Windows系统口令扫描之——使用Tscrack扫描3389口令
  17. 影视剪辑,PR剪辑软件两个转场教程
  18. 阿里云ACP认证之云服务器ECS知识整理(考题占比 31%)
  19. Android Studio 布局 - ScrollView和HorizontalScrollView
  20. windows获取显卡的显存

热门文章

  1. linux云自动化系统运维19(磁盘阵列raid,lvm管理)
  2. git 从远程服务器更新本地项目
  3. 微信公众号ID也可以修改了!
  4. 产品人的三个层次——老吴说产品
  5. css浮动以及清除浮动
  6. Ubuntu 22.04 桌面美化之Mac Big Sur风格
  7. 官宣!湖北高校尽量不延迟毕业时间
  8. php开发中常用字符串函数总结
  9. python判断用户名密码是否正确_python实现用户名密码校验
  10. 原来手机图片转文字这么简单!按下这个按钮,纸质稿轻松电子化