Fischen ist auch effizient - 8 Python-Automatisierungsskripte, um die Zufriedenheit der Arbeiter zu verbessern~

Hallo zusammen! Ich bin ein roter Panda ❤

In letzter Zeit sind viele Wanderarbeiter zu mir gekommen und haben es mir gesagtEs ist schwer zu arbeiten

Bitte Bildbeschreibung hinzufügen

täglich viele sich wiederholende Aufgaben erledigen ,

Z.BLesen Sie Nachrichten, senden Sie E-Mails, checken Sie das Wetter, öffnen Sie Lesezeichen, räumen Sie Ordner aufund viele mehr,

Mit automatisierten Skripten müssen diese Aufgaben nicht immer wieder manuell erledigt werden,

Es ist sehr praktisch. Gibt es Holz? !

Und in gewisser Weise ist Python gleichbedeutend mit Automatisierung.

Komm und lerne heute mit dir,

Verbessern Sie die Arbeitseffizienz mit 8 Python-Automatisierungsskripten ~ Happy Fishing ~


Bildbeschreibung hier einfügen


1. Webnachrichten automatisch lesen

Dieses Skript kann Text von Webseiten kratzen und ihn dann automatisch laut vorlesen, was eine gute Wahl ist, wenn Sie Nachrichten hören möchten.

Der Code ist in zwei Teile unterteilt, der erste besteht darin, den Text der Webseite durch den Crawler zu crawlen, und der zweite besteht darin, den Text durch das Lesetool laut vorzulesen.

Erforderliche Bibliotheken von Drittanbietern:

  • Beautiful Soup – Klassischer HTML/XML-Textparser zum Extrahieren von Informationen aus gecrawlten Webseiten
  • Anfragen - Ein benutzerfreundliches HTTP-Tool zum Senden von Anfragen an Webseiten zum Abrufen von Daten
  • Pyttsx3 - Konvertieren Sie Text in Sprache und steuern Sie Rate, Frequenz und Sprache
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()

Bitte Bildbeschreibung hinzufügen


2. Automatisierte Datenexploration

Die Datenexploration ist der erste Schritt in einem Data-Science-Projekt. Sie müssen die grundlegenden Informationen der Daten verstehen, um den tieferen Wert weiter zu analysieren.

Im Allgemeinen verwenden wir Pandas, Matplotlib und andere Tools, um Daten zu untersuchen, aber wir müssen viel Code selbst schreiben. Wenn Sie die Effizienz verbessern möchten, ist Dtale eine gute Wahl.

Dtale verfügt über einen automatisierten Analysebericht mit einer einzigen Codezeile, der das Flask-Backend mit dem React-Frontend kombiniert und uns eine einfache Möglichkeit bietet, Pandas-Datenstrukturen anzuzeigen und zu analysieren.

Wir können Dtale auf Jupyter verwenden.

Erforderliche Bibliotheken von Drittanbietern:

  • Dtale - Generieren Sie automatisch Analyseberichte
### 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

Bitte Bildbeschreibung hinzufügen


3. Senden Sie automatisch mehrere E-Mails

Dieses Skript kann uns helfen, E-Mails in regelmäßigen Abständen stapelweise zu versenden, und auch der Inhalt und die Anhänge von E-Mails können angepasst und angepasst werden, was sehr praktisch ist.

Im Vergleich zu E-Mail-Clients besteht der Vorteil von Python-Skripten darin, dass sie E-Mail-Dienste intelligent, in Stapeln und mit hoher Anpassungsfähigkeit bereitstellen können.

Erforderliche Bibliotheken von Drittanbietern:

  • E-Mail – zum Verwalten von E-Mail-Nachrichten;
  • Smtlib - E-Mail an einen SMTP-Server senden, definiert ein SMTP-Client-Sitzungsobjekt, das E-Mails an jeden
    Computer im Internet mit einem SMTP- oder ESMTP-Listener senden kann;
  • Pandas - Reinigungstool für die Datenanalyse;
import smtplib 
from email.message import EmailMessage

def send_email(remail, rsubject, rcontent):
    email = EmailMessage()                          ## Creating a object for EmailMessage
    email['from'] = 'The Pythoneer Here'            ## Person who is sending
    email['to'] = remail                            ## Whom we are sending
    email['subject'] = rsubject                     ## Subject of email
    email.set_content(rcontent)                     ## content of email
    with smtplib.SMTP(host='smtp.gmail.com',port=587)as smtp:     
        smtp.ehlo()                                 ## server object
        smtp.starttls()                             ## used to send data between server and client
        smtp.login("[email protected]","delta@371") ## login id and password of gmail
        smtp.send_message(email)                    ## Sending email
        print("email send to ",remail)              ## Printing success message

if __name__ == '__main__':
    df = pd.read_excel('list.xlsx')
    length = len(df)+1

    for index, item in df.iterrows():
        email = item[0]
        subject = item[1]
        content = item[2]

Bitte Bildbeschreibung hinzufügen


4. PDF in Audiodatei konvertieren

Das Skript kann PDF in Audiodatei konvertieren,

Das Prinzip ist auch sehr einfach,

Extrahieren Sie zuerst den Text im PDF mit PyPDF,

Verwenden Sie dann Pyttsx3, um den Text in Sprache umzuwandeln.

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

Bitte Bildbeschreibung hinzufügen


5. Spielen Sie zufällige Musik aus der Liste

Dieses Skript wählt zufällig einen Song aus dem Songs-Ordner zum Abspielen aus,

Beachten Sie, dass os.startfile nur Windows-Systeme unterstützt.

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

Bitte Bildbeschreibung hinzufügen


6. Intelligente Wetterinformationen

Die Website des Nationalen Wetterdienstes bietet eine API zum Abrufen von Wettervorhersagen, die Wetterdaten direkt im json-Format zurückgibt. Nehmen Sie also einfach die entsprechenden Felder aus json heraus.

Das Folgende ist die URL des Wetters der angegebenen Stadt (Landkreis, Bezirk), öffnen Sie die URL direkt, und die Wetterdaten der entsprechenden Stadt werden zurückgegeben. zum Beispiel:

http://www.weather.com.cn/data/cityinfo/101021200.html Die Wetter-Website für den Bezirk Xuhui, Shanghai.

Der spezifische Code lautet wie folgt:

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) 

Das Ergebnis des Laufs ist wie folgt:
Bitte Bildbeschreibung hinzufügen


7. Ändern Sie lange URLs in kurze URLs

Manchmal werden diese großen URLs wirklich nervig,

Dieses Skript ist schwer zu lesen und zu teilen und kann lange URLs in kurze umwandeln.

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

Dieses Skript ist sehr nützlich,

Beispielsweise gibt es Content-Plattformen, die offizielle Account-Artikel sperren.

Dann können Sie den Link des offiziellen Account-Artikels in einen Kurzlink umwandeln,

Dann schließen Sie es an und Sie können es umgehen.

Bitte Bildbeschreibung hinzufügen


8. Bereinigen Sie den Download-Ordner

Eines der verwirrendsten Dinge der Welt ist der Download-Ordner des Entwicklers,

Es gibt viele unordentliche Dateien darin.

Dieses Skript bereinigt Ihren Download-Ordner entsprechend der Größenbeschränkung.

Begrenzte Bereinigung älterer Dateien.

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

Der heutige Artikel ist hier~

Ich bin Roter Panda, wir sehen uns im nächsten Artikel (✿◡‿◡)

Bildbeschreibung hier einfügen

おすすめ

転載: blog.csdn.net/m0_67575344/article/details/126483788