Setiap hari anda mungkin melakukan banyak tugas berulang, seperti membaca berita, menghantar e-mel, menyemak cuaca, membersihkan folder, dll. Dengan skrip automatik, anda tidak perlu melakukannya secara manual lagi dan lagi Sangat mudah untuk menyelesaikan tugasan ini. Pada tahap tertentu, Python adalah sinonim dengan automasi.
Hari ini saya berkongsi 8 skrip automasi Python yang sangat berguna. Jika anda suka, ingat untuk mengumpul, mengikuti dan suka.
Skrip ini boleh menangkap teks daripada halaman web dan kemudian membacanya secara automatik Apabila anda ingin mendengar berita, ini Bukan pilihan yang buruk.
Kod terbahagi kepada dua bahagian Yang pertama adalah untuk merangkak teks halaman web, dan yang kedua ialah membaca teks dengan kuat melalui alat membaca.
Pustaka pihak ketiga yang diperlukan:
Sup Cantik - penghurai teks HTML/XML klasik, digunakan untuk mengekstrak maklumat halaman web yang dirangkak.
permintaan - Alat HTTP yang sangat berguna untuk menghantar permintaan ke halaman web untuk mendapatkan data.
Pyttsx3 - Tukar teks kepada pertuturan dan kadar kawalan, kekerapan dan suara.
import pyttsx3 import requests from bs4 import BeautifulSoup engine = pyttsx3.init('sapi5') 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 articlen")) res = requests.get(text) soup = BeautifulSoup(res.text,'html.parser') 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()
Penerokaan data ialah langkah pertama dalam projek sains data Anda perlu memahami maklumat asas data untuk menganalisis dengan lebih mendalam nilai.
Secara amnya kami menggunakan panda, matplotlib dan alatan lain untuk meneroka data, tetapi kami perlu menulis sendiri banyak kod Jika kami ingin meningkatkan kecekapan, Dtale ialah pilihan yang baik.
Dtale dicirikan dengan menghasilkan laporan analisis automatik dengan satu baris kod Ia menggabungkan bahagian belakang Flask dan bahagian hadapan React untuk memberikan kami cara mudah untuk melihat dan menganalisis struktur data Pandas.
Kita boleh menggunakan Dtale pada Jupyter.
Pustaka pihak ketiga yang diperlukan:
Dtale - menjana laporan analisis secara automatik.
### 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 #### Generating Quick Summary dtale.show(df)
Skrip ini boleh membantu kami menghantar e-mel secara berkelompok pada masa yang dijadualkan, termasuk kandungan e-mel dan lampiran. Pelarasan tersuai sangat praktikal.
Berbanding dengan klien e-mel, kelebihan skrip Python ialah mereka boleh menggunakan perkhidmatan e-mel secara bijak, dalam kelompok dan dengan penyesuaian yang tinggi.
Perpustakaan pihak ketiga yang diperlukan:
E-mel - untuk menguruskan mesej e-mel
Smtlib - untuk menghantar e-mel ke pelayan SMTP, Ia mentakrifkan objek sesi klien SMTP yang boleh menghantar mel ke mana-mana komputer di Internet dengan pendengar SMTP atau ESMTP
Panda - Alat untuk analisis dan pembersihan data.
import smtplib from email.message import EmailMessage import pandas as pd 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("deltadelta371@gmail.com","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] send_email(email,subject,content)
Skrip boleh menukar pdf kepada fail audio. Pertama, gunakan PyPDF untuk mengekstrak teks pdf, dan kemudian Text-to-speech menggunakan Pyttsx3.
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()
Skrip ini akan memilih lagu secara rawak daripada folder lagu untuk dimainkan. startfile hanya disokong pada sistem 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]))
Tapak web Perkhidmatan Cuaca Negara menyediakan API untuk mendapatkan ramalan cuaca, yang mengembalikan data cuaca secara langsung dalam format json. Jadi anda hanya perlu mengekstrak medan yang sepadan daripada json.
Berikut ialah URL cuaca untuk bandar yang ditetapkan (daerah, daerah Buka URL terus dan data cuaca bandar yang sepadan akan dikembalikan. Contohnya:
http://www.weather.com.cn/data/cityinfo/101021200.html URL cuaca yang sepadan dengan Daerah Xuhui, Shanghai.
Kod khusus adalah seperti berikut:
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)
Hasil larian adalah seperti berikut:
Kadangkala, URL besar itu menjadi sangat menjengkelkan dan sukar dibaca dan dikongsi, tendangan ini boleh menukar URL panjang menjadi URL pendek.
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()
Skrip ini sangat praktikal Contohnya, jika terdapat platform kandungan yang menyekat artikel akaun awam, maka anda boleh menukar pautan artikel akaun awam kepada pautan pendek dan kemudian. masukkannya ke dalamnya. Bypass
Salah satu perkara yang paling mengelirukan di dunia ialah folder muat turun pembangun, yang mengandungi banyak yang tidak teratur Skrip ini akan membersihkan folder muat turun anda berdasarkan had saiz, dengan pembersihan terhad fail lama:
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])
Atas ialah kandungan terperinci Lapan skrip automasi Python sedia untuk digunakan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!