你可能每天都要执行许多重复的任务,比如阅读新闻、发送电子邮件、查看天气、打开书签、清理文件夹等。本文主要介绍Python自动化脚本,有一定的参考价值。有兴趣的可以看看。
目录
1、自动阅读网页新闻2、自动探索数据3、自动发送多封邮件4、将PDF转换成音频文件5、从列表中随机播放音乐6、智能天气信息7、缩短长URLs 8、清理下载文件夹。每天,你可能会执行许多重复的任务,例如阅读新闻、发送电子邮件、查看天气、打开书签、清理文件夹等。使用自动化脚本,你将在某种程度上,Python是自动化的代名词。
1、自动化阅读网页新闻
这个脚本可以从网页上抓取文字,然后自动朗读,当你想听新闻的时候是个不错的选择。
代码分为两部分,第一部分是通过爬虫抓取网页文本,第二部分是通过阅读工具朗读文本。
必需的第三方库:
美人汤——一个经典的HTML/XML文本解析器,用于提取被抓取网页的信息请求——一个简单易用的HTTP工具,用于向网页发送请求以获取数据pyttsx 3——将文本转换成语音,并控制速度、频率和语音。
导入pyttsx3
导入请求
从bs4导入BeautifulSoup
engine=pyttsx3.init('sapi5 ')
voices=engine . getproperty(' voices ')
newVoiceRate=130 ##降低语音速率
engine.setProperty('rate ',newVoiceRate)
engine.setProperty('voice ',voices[1])。id)
def speak(音频):
engine.say(音频)
engine.runAndWait()
text=str(input('粘贴文章\n '))
res=requests.get(文本)
soup=BeautifulSoup(res.text,' html.parser ')
文章=[]
对于范围内的I(len(soup . select('。p ')))):
article=soup.select('。p ')[我]。getText()。条状()
articles.append(文章)
文本=“”。加入(文章)
朗读(文本)
# engine.save_to_file(text,' test.mp3') ##如果您想将语音保存为音频文件
engine.runAndWait()
2、自动化数据探索
数据探索是数据科学项目的第一步。你需要了解数据的基本信息,才能进一步分析其更深层次的价值。
一般我们用pandas,matplotlib等工具来探索数据,但是需要自己写很多代码。如果想提高效率,Dtale是个不错的选择。
Dtale的特点是用一行代码生成自动分析报告,结合了Flask后端和React前端,为我们提供了一种简单的查看和分析Pandas数据结构的方法。
我们可以在Jupyter上使用Dtale。
必需的第三方库:Dtale-自动生成分析报告
###为某些数据集导入Seaborn库
将seaborn作为sns导入
###打印Seaborn库的内置数据集
print(sns.get_dataset_names())
###正在加载泰坦尼克号数据集
df=sns.load_dataset('泰坦尼克')
###导入库
导入数据标签
####生成快速摘要
显示(df)
3、自动发送多封邮件
这个脚本可以帮助我们定时批量发送邮件,邮件的内容和附件也可以自定义和调整,非常实用。
与邮件客户端相比,Python脚本的优势在于可以智能、批量、高度定制地部署邮件服务。
必需的第三方库:
电子邮件-用于管理电子邮件信息;SMT lib-向SMTP服务器发送邮件,SMTP服务器定义了一个SMTP客户端会话对象,可以通过SMTP或ESMTP监听器向互联网上的任意一台计算机发送邮件;熊猫-数据分析和清理的工具。
导入smtplib
从email.message导入电子邮件
进口熊猫作为pd
def send_email(remail,rsubject,rcontent):
email=EmailMessage() ##为EmailMessage创建对象
电子邮件['发件人']='我是蟒蛇' ##发送邮件的人
电子邮件['to']=remail ##我们要发送给谁
电子邮件['主题']=rsubject ##电子邮件的主题
email.set_content(rcontent) ##电子邮件的内容
使用smtplib。SMTP(host='smtp.gmail.com ',port=587)作为SMTP:
smtp.ehlo() ##服务器对象
smtp.starttls() ##用于在服务器和客户端之间发送数据
SMTP。登录(' delta delta 371 @ Gmail。',' delta @ 371 ')# # Gmail的登录身份证明(identification)和密码
smtp.send_message(电子邮件)##发送电子邮件
打印("电子邮件发送至",回复)##打印成功消息
if __name__=='__main__ ':
df=pd.read_excel('list.xlsx ')
长度=len(df) 1
对于索引,df.iterrows()中的项目:
电子邮件=项目[0]
subject=item[1]
内容=项目[2]
发送电子邮件(电子邮件、主题、内容)
4、将 PDF 转换为音频文件
脚本可以将可移植文档格式文件的扩展名(可移植文档格式的缩写)转换为音频文件,原理也很简单,首先用PyPDF提取可移植文档格式文件的扩展名(可移植文档格式的缩写)中的文本,然后用Pyttsx3将文本转语音。
导入pyttsx3、PyPDF2
pdfreader=PyPDF2 .PdfFileReader(打开(' story.pdf ',' rb '))
speaker=pyttsx3.init()
对于范围内的页码(pdfreader.numPages):
text=pdf阅读器。获取第(page _ num)页.extractText() ##从便携文档格式中提取文本
cleaned_text=text.strip().替换(' \n ',' ')##删除不必要的空格和换行符
打印(cleaned_text) ##从便携文档格式打印文本
#speaker.say(cleaned_text) ##让演讲者朗读文本
扬声器。save _ to _ file(cleaned _ Text,' story.mp3') ##将文本保存在音频文件' story.mp3 '中
speaker.runAndWait()
扬声器。停止()
5、从列表中播放随机音乐
这个脚本会从歌曲文件夹中随机选择一首歌进行播放,需要注意的是os.startfile仅支持Windows操作系统操作系统系统。
随机导入,操作系统
音乐目录=' G:\ \新英文歌曲'
songs=os.listdir(music_dir)
song=random.randint(0,len(songs))
打印(歌曲[歌曲]) ##打印歌曲名称
OS。启动文件(操作系统。路径。join(music _ dir,songs[0]))
6、智能天气信息
国家气象局网站提供获取天气预报的API,直接返回json格式的天气数据。所以只需要从json里取出对应的字段就可以了。
下面是指定城市(县、区)天气的网址,直接打开网址,就会返回对应城市的天气数据。比如:
http://www.weather.com.cn/data/cityinfo/101021200.html上海徐汇区对应的天气网址。
具体代码如下:
导入请求
导入json
将日志记录作为日志导入
极好的获取天气风(网址):
r=requests.get(url)
if r.status_code!=200:
log.error('无法获取天气数据!')
info=JSON。负载(r .内容decode())
#获取风数据
data=info['weatherinfo']
WD=data['WD']
WS=data['WS']
返回"{}({})"。格式(WD,WS)
极好的获取天气城市(网址):
#打开全球资源定位器(Uniform Resource Locator)并获取返回数据
r=requests.get(url)
if r.status_code!=200:
log.error('无法获取天气数据!')
#将字符串转换为json
info=JSON。负载(r .内容decode())
#获取有用的数据
data=info['weatherinfo']
city=data['city']
temp1=data['temp1']
temp2=data['temp2']
天气=数据['天气]
返回"{} {} {}~{}"。格式(城市、天气、温度1、温度2)
if __name__=='__main__ ':
消息='''**天气提醒**:
{} {}
{} {}
来源:国家气象局
'''.格式(
get _ weather _ city(' http://www。天气。com。cn/data/city info/101021200。html’),
get _ weather _ wind(' http://www。天气。com。cn/data/sk/101021200。html’),
get _ weather _ city(' http://www。天气。com。cn/data/city info/101020900。html’),
get _ weather _ wind(' http://www。天气。com。cn/data/sk/101020900。html’)
)
打印(邮件)
运行结果如下所示:
7、长网址变短网址
有时,那些大统一资源定位器变得非常恼火,很难阅读和共享,此脚可以将长网址变为短网址。
导入上下文库
从urllib.parse导入urlencode
从urllib.request导入urlopen
导入系统
def make_tiny(url):
request _ URL=(' http://微小的URL。com/API-创建。PHP?
urlencode({'url':url}))
使用上下文库。正在关闭(urlopen(request _ URL))作为响应:
返回response.read()。解码(“utf-8”)
def main():
对于地图中的tinyurl(make _ tiny,sys.argv[1:]):
打印(tinyurl)
if __name__=='__main__ ':
主()
这个脚本非常实用,比如说有内容平台是屏蔽公众号文章的,那么就可以把公众号文章的链接变为短链接,然后插入其中,就可以实现绕过。
8、清理下载文件夹
世界上最混乱的事情之一是开发人员的下载文件夹,里面存放了很多杂乱无章的文件,此脚本将根据大小限制来清理您的下载文件夹,有限清理比较旧的文件。
导入操作系统
导入线程
导入时间
极好的获取文件列表(文件路径):
#文件按最后修改时间排序
dir_list=os.listdir(文件路径)
如果不是目录列表:
返回
否则:
dir_list=sorted(dir_list,key=lambda x:OS。路径。getmtime(OS。路径。join(文件路径,x)))
返回目录列表
def get_size(文件路径):
' '[摘要]
参数:
文件路径([类型]): [目录]
退货:
[类型]:返回目录大小,MB
'''
totalsize=0
对于os.listdir(文件路径)中的文件名:
总大小OS的总大小。路径。getsize(OS。路径。加入(文件路径,文件名))
#打印(总尺寸/1024/1024)
返回总大小/1024/1024
定义检测文件大小(文件路径,大小最大值,大小删除):
' '[摘要]
参数:
文件路径([类型]): [文件目录]
size_Max ([type]): [文件夹最大大小]
size _ Del([类型]): [超过最大尺寸时要删除的大小]
'''
print(get_size(file_path))
如果get_size(文件路径)size_Max:
文件列表=获取文件列表(文件路径)
对于范围内的I(len(文件列表)):
if get _ size(file _ path)(size _ Max-size _ Del):
print ('del :%d %s' % (i 1,fileList[i]))
#os.remove(文件路径文件列表[我])
到此这篇关于八个超级好用的计算机编程语言自动化脚本(小结)的文章就介绍到这了,更多相关计算机编程语言自动化脚本内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。