6个实用的Python自动化脚本详解

目录
  • 1、将 PDF 转换为音频文件
  • 2、从列表中播放随机音乐
  • 3、不再有书签了
  • 4、智能天气信息
  • 5、长网址变短网址
  • 6、清理下载文件夹

每天你都可能会执行许多重复的任务,例如阅读 pdf、播放音乐、查看天气、打开书签、清理文件夹等等,使用自动化脚本,就无需手动一次又一次地完成这些任务,非常方便。而在某种程度上,Python 就是自动化的代名词。今天分享 6 个非常有用的 Python 自动化脚本。

1、将 PDF 转换为音频文件

脚本可以将 pdf 转换为音频文件,原理也很简单,首先用 PyPDF 提取 pdf 中的文本,然后用 Pyttsx3 将文本转语音。关于文本转语音,你还可以看这篇文章FastAPI:快速开发一个文本转语音的接口。

代码如下:

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()

2、从列表中播放随机音乐

这个脚本会从歌曲文件夹中随机选择一首歌进行播放,需要注意的是 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]))

3、不再有书签了

每天睡觉前,我都会在网上搜索一些好内容,第二天可以阅读。大多数时候,我把遇到的网站或文章添加为书签,但我的书签每天都在增加,以至于现在我的浏览器周围有100多个书签。因此,在python的帮助下,我想出了另一种方法来解决这个问题。现在,我把这些网站的链接复制粘贴到文本文件中,每天早上我都会运行脚本,在我的浏览器中再次打开所有这些网站。

import webbrowser
with open('./websites.txt') as reader:
    for link in reader:
        webbrowser.open(link.strip())

代码用到了 webbrowser,是 Python 中的一个库,可以自动在默认浏览器中打开 URL。

4、智能天气信息

国家气象局网站提供获取天气预报的 API,直接返回 json 格式的天气数据。所以只需要从 json 里取出对应的字段就可以了。

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

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

具体代码如下:

import 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)

运行结果如下所示:

5、长网址变短网址

有时,那些大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()

这个脚本非常实用,比如说有不是内容平台是屏蔽公众号文章的,那么就可以把公众号文章的链接变为短链接,然后插入其中,就可以实现绕过:

6、清理下载文件夹

世界上最混乱的事情之一是开发人员的下载文件夹,里面存放了很多杂乱无章的文件,此脚本将根据大小限制来清理您的下载文件夹,有限清理比较旧的文件:

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]): [目录] 

    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]) 

def detectFileSize():
 #检测线程,每个5秒检测一次
    while True:
        print('======detect============')
        detect_file_size("/Users/aaron/Downloads/", 100, 30)
        time.sleep(5) 

if __name__ == "__main__":
    #创建检测线程
    detect_thread = threading.Thread(target = detectFileSize)
    detect_thread.start()

到此这篇关于6个实用的Python自动化脚本详解的文章就介绍到这了,更多相关Python自动化脚本内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python实现自动化脚本编写

    目录 1. 打开浏览器,访问p.to 2. 登陆 3. 修改管理员密码 4. 单元测试数据 5. 检查输入的数据合法性 6. 获取输入错误数据之后的页面提示语 7. 编写测试用例 8.编写单元测试类 8.1 单元测试中的通用操作 8.2 测试类 9. 进行单元测试并生成测试报告 10. 关闭浏览器 11. 异常处理 11.1 点击函数 11.2 填写表单 11.3 元素加载 12. 完整的测试代码 本文以修改用户名密码单元为案例,编写测试脚本.完成修改用户名密码模块单元测试. (ps.这个dem

  • 基于python实现微信收红包自动化测试脚本(测试用例)

    测试用例(1) 测试用例(2) 代码如下(python): # coding=utf-8 from appium import webdriver import time desired_caps = { 'platformName': 'Android', #使用哪种平台 'deviceName': '158bcb1', #启用设备名称 'platformVersion': '5.1', #指定平台的系统版本 'appPackage': 'com.tencent.mm', #待测试的app的p

  • python实现自动化上线脚本的示例

    程序说明: 本程序实现将开发程序服务器中的打包文件通过该脚本上传到正式生产环境(注:生产环境和开发环境不互通) 程序基本思路: 将开发环境中的程序包拷贝到本地堡垒机 将程序包进行解压 获得解压后的文件通同步到生产服务器上 主要知识点:python库os.system()的基本使用 利用python调用xshell命令 程序使用方法: python addline.py 开发主机ip 程序包 目标主机ip 上传目录 上传编号 如:python addline.py 240 /home/shaoji

  • 4个的Python自动化脚本分享

    目录 1.将 PDF 转换为音频文件 2.从列表中播放随机音乐 3.不再有书签了 4.清理下载文件夹 前言: 大家平时有没有注意到你每天可能会执行许多的重复的任务,例如阅读 pdf.播放音乐.打开书签.清理文件夹等等. 我将分享4个实用的python的自动化脚本,无需手动一次又一次地完成这些任务,非常方便. 1.将 PDF 转换为音频文件 脚本可以将 pdf 转换为音频文件,原理也很简单,首先用 PyPDF 提取 pdf 中的文本,然后用 Pyttsx3 将文本转语音.关于文本转语音,你还可以看

  • 6个实用的Python自动化脚本详解

    目录 1.将 PDF 转换为音频文件 2.从列表中播放随机音乐 3.不再有书签了 4.智能天气信息 5.长网址变短网址 6.清理下载文件夹 每天你都可能会执行许多重复的任务,例如阅读 pdf.播放音乐.查看天气.打开书签.清理文件夹等等,使用自动化脚本,就无需手动一次又一次地完成这些任务,非常方便.而在某种程度上,Python 就是自动化的代名词.今天分享 6 个非常有用的 Python 自动化脚本. 1.将 PDF 转换为音频文件 脚本可以将 pdf 转换为音频文件,原理也很简单,首先用 Py

  • python http接口自动化脚本详解

    今天给大家分享一个简单的python脚本,使用python进行http的接口测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据excel中的用例内容进行调用,判断预期结果中的返回值是否和返回报文中的值一致,如果不一致则根据用例标题把bug提交到bug管理系统,这里使用的bug管理系统是bugfree. 实现步骤: 1.读取excel,保存测试用例中的内容: 2.根据excel中的请求url和参数拼接请求报文,调用接口,并保存返回报文: 3.读取返回报文,和预期结果对比,不一致的往b

  • 两个很实用的Python装饰器详解

    目录 1.超时函数 2.Trace函数 总结 1.超时函数 这个函数的作用在于可以给任意可能会hang住的函数添加超时功能,这个功能在编写外部API调用 .网络爬虫.数据库查询的时候特别有用 timeout装饰器的代码如下: import signal,functools #下面会用到的两个库 class TimeoutError(Exception): pass #定义一个Exception,后面超时抛出 def timeout(seconds, error_message = 'Functi

  • 详解基于Android的Appium+Python自动化脚本编写

    1.Appium Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试, 它使用WebDriver协议驱动iOS,Android和Windows应用程序. 通过Appium,我们可以模拟点击和屏幕的滑动,可以获取元素的id和classname,还可以根据操作生成相关的脚本代码. 下面开始Appium的配置. appPackage和APPActivity的获取 任意下载一个app 解压 但是解压出来的xml文件可能是乱码,所以我们需要反编译文件. 逆向AndroidMan

  • 分享4个方便且好用的Python自动化脚本

    目录 前言 1.自动化阅读网页新闻 2.自动生成素描草图 3.自动发送多封邮件 4.自动化数据探索 5.给大家分享一下自动化测试工具 总结 前言 相比大家都听过自动化生产线.自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率. 编程世界里有各种各样的自动化脚本,来完成不同的任务. 尤其Python非常适合编写自动化脚本,因为它语法简洁易懂,而且有丰富的第三方工具库. 这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中. 1.自动化阅读网页新

  • 分享5个方便好用的Python自动化脚本

    目录 1.自动化阅读网页新闻 2.自动生成素描草图 3.自动发送多封邮件 4.自动化数据探索 5.自动桌面提示 前言: 相比大家都听过自动化生产线.自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率. 编程世界里有各种各样的自动化脚本,来完成不同的任务.尤其Python非常适合编写自动化脚本,因为它语法简洁易懂,而且有丰富的第三方工具库.这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中. 1.自动化阅读网页新闻 这个脚本能够实现从网页中抓

  • 八个超级好用的Python自动化脚本(小结)

    目录 1.自动化阅读网页新闻 2.自动化数据探索 3.自动发送多封邮件 4.将 PDF 转换为音频文件 5.从列表中播放随机音乐 6.智能天气信息 7.长网址变短网址 8.清理下载文件夹 每天你都可能会执行许多重复的任务,例如阅读新闻.发邮件.查看天气.打开书签.清理文件夹等等,使用自动化脚本,就无需手动一次又一次地完成这些任务,非常方便.而在某种程度上,Python 就是自动化的代名词. 1.自动化阅读网页新闻 这个脚本能够实现从网页中抓取文本,然后自动化语音朗读,当你想听新闻的时候,这是个不

  • Python API 自动化实战详解(纯代码)

    主要讲如何在公司利用Python 搞API自动化. 1.分层设计思路 dataPool :数据池层,里面有我们需要的各种数据,包括一些公共数据等 config :基础配置 tools : 工具层 common: 公共方法层 runCase :需要运行的测试用例 noRunCase :不需要运行的测试用例 testReport :这里存放生成的测试报告 2.编写common: 公共方法层 2.1 getTimestamp.py 我们在common文件夹下新建一个getTimestamp.py. 因

  • 对python多线程SSH登录并发脚本详解

    测试系统中有一项记录ssh登录日志,需要对此进行并发压力测试. 于是用多线程进行python并发记录 因为需要安装的一些依赖和模块比较麻烦,脚本完成后再用pyinstaller打成exe包分发给其他测试人员一起使用. 1.脚本编写 # -*- coding: utf-8 -*- import paramiko import threading import time lt = [] def ssh(a,xh,sp): count = 0 for i in range(0,xh): try: ss

随机推荐