一組小腳本,用于自動(dòng)化您的日常項(xiàng)目和問(wèn)題解決 很多手動(dòng)重復(fù)任務(wù)需要完成,例如生成 PDF 報(bào)告、調(diào)整照片大小、壓縮視頻、合并 PDF 文件、發(fā)送電子郵件和短信等等。但是,您可以使用您最喜歡的編程語(yǔ)言 Python 來(lái)自動(dòng)化這些任務(wù)。在本文中,我將向您展示 10 個(gè) Python 小自動(dòng)化腳本。所以,請(qǐng)把這篇文章標(biāo)記在您的列表上,讓我們開(kāi)始吧。
1、圖片調(diào)整大小腳本使用此 Python 腳本調(diào)整圖片大小而不會(huì)丟失其實(shí)際質(zhì)量和縱橫比。這個(gè)便捷的腳本使用 Imageio 模塊,可以保持圖像質(zhì)量的同時(shí)將其調(diào)整到任何大小。 這個(gè)實(shí)用的腳本可以輕松自動(dòng)化您的手動(dòng)圖片調(diào)整任務(wù)。請(qǐng)查看下面提供的腳本代碼。
# 圖片調(diào)整大小腳本# 需要安裝 imageio 庫(kù)# pip install imageioimport imageio.v3 as imageio# 定義調(diào)整圖片大小的函數(shù),傳入兩個(gè)參數(shù),分別是圖片路徑和調(diào)整后的尺寸def resize_image(image, size): # 讀取圖片 photo = imageio.imread(image) # 調(diào)整圖片大小 photo = imageio.imresize(photo, size) # 保存調(diào)整后的圖片 imageio.imwrite('resized.jpg', photo)# 如果該腳本被直接運(yùn)行,則調(diào)用 resize_image() 函數(shù),傳入圖片路徑和調(diào)整后的尺寸if __name__ == '__main__': resize_image('image5.jpg', (200, 200)) '''代碼輸出:調(diào)整前圖片尺寸:(1280, 853, 3)調(diào)整后圖片尺寸:(200, 200, 3)''' 2、視頻壓縮器使用此自動(dòng)化腳本將視頻文件大小壓縮到更小,腳本使用了 Moviepy 模塊,可以使視頻大小更小,同時(shí)保持視頻質(zhì)量良好。下面我將提到您可以使用腳本測(cè)試的預(yù)設(shè)選項(xiàng),以選擇最佳選項(xiàng),如下屬性所示:
# 視頻壓縮器# 需要安裝 moviepy 庫(kù)# pip install moviepyfrom moviepy.editor import *# 定義壓縮視頻的函數(shù),傳入視頻文件路徑def Compress_Video(vid_file): # 加載視頻文件 video = VideoFileClip(vid_file) # 將視頻文件壓縮并保存為新文件 video.write_videofile('compressed.mp4', preset='medium') # 輸出壓縮完成的提示信息 print('Video Compressed')# 如果該腳本被直接運(yùn)行,則調(diào)用 Compress_Video() 函數(shù),傳入視頻文件路徑if __name__ == '__main__': Compress_Video('video.mp4') '''代碼輸出:Video Compressed''' 3、ZIP 文件提取器如果有很多需要解壓縮的 ZIP 文件,那么就不要手動(dòng)操作了,可以使用這個(gè)帶有內(nèi)置 Zip 文件模塊的自動(dòng)化腳本,它可以幫助您在任何文件夾中解壓縮 ZIP 文件。以下是您可以自由使用的腳本。
# ZIP 文件提取器import zipfilefrom zipfile import ZipFileimport os# 定義解壓縮 ZIP 文件的函數(shù),傳入 ZIP 文件路徑列表def extract_zip(files): for file in files: # 使用 ZipFile 模塊打開(kāi) ZIP 文件,并解壓縮文件到 ZIP 文件所在的文件夾 with ZipFile(file, 'r') as zip_f: zip_f.extractall(os.path.dirname(file)) # 輸出解壓縮完成的提示信息 print('Files extracted')# 如果該腳本被直接運(yùn)行,則調(diào)用 extract_zip() 函數(shù),傳入 ZIP 文件路徑列表if __name__ == '__main__': extract_zip(['zip1.zip', 'zip2.zip']) '''代碼輸出:Files extracted''' 4、文本轉(zhuǎn)語(yǔ)音如果您需要將文本轉(zhuǎn)換為人工智能語(yǔ)音,則可以使用此 Python 腳本,它使用 Gtts 模塊,該模塊是谷歌翻譯語(yǔ)音 AI,可以將您的文本轉(zhuǎn)換為帶有真實(shí)人類機(jī)器聲音的語(yǔ)音。
# 文本轉(zhuǎn)語(yǔ)音轉(zhuǎn)換器# pip install gTTS# pip install playsoundfrom gtts import gTTSfrom playsound import playsound as playimport os# 定義文本轉(zhuǎn)語(yǔ)音轉(zhuǎn)換的函數(shù),傳入兩個(gè)參數(shù),分別是待轉(zhuǎn)換的文本和語(yǔ)音轉(zhuǎn)換的目標(biāo)語(yǔ)言def TextToSpeech(text, lang): # 使用 gTTS 模塊將文本轉(zhuǎn)換為語(yǔ)音,并保存為 MP3 文件 converter = gTTS(text, lang= lang) converter.save('speech.mp3') # 使用 playsound 模塊播放 MP3 文件 play('speech.mp3') # 刪除 MP3 文件 os.remove('speech.mp3')# 如果該腳本被直接運(yùn)行,則調(diào)用 TextToSpeech() 函數(shù),傳入文本和語(yǔ)音轉(zhuǎn)換的目標(biāo)語(yǔ)言if __name__ == '__main__': TextToSpeech('How are you today?', 'en') 要支持中文語(yǔ)音轉(zhuǎn)換,您需要將 'lang' 參數(shù)設(shè)置為 'zh-cn',表示目標(biāo)語(yǔ)言為中文。以下是修改后的代碼: # 文本轉(zhuǎn)語(yǔ)音轉(zhuǎn)換器# 需要安裝 gTTS 和 playsound 庫(kù)# pip install gTTS# pip install playsoundfrom gtts import gTTSfrom playsound import playsound as playimport os# 定義文本轉(zhuǎn)語(yǔ)音轉(zhuǎn)換的函數(shù),傳入兩個(gè)參數(shù),分別是待轉(zhuǎn)換的文本和語(yǔ)音轉(zhuǎn)換的目標(biāo)語(yǔ)言def TextToSpeech(text, lang): # 使用 gTTS 模塊將文本轉(zhuǎn)換為語(yǔ)音,并保存為 MP3 文件 converter = gTTS(text, lang=lang) converter.save('speech.mp3') # 使用 playsound 模塊播放 MP3 文件 play('speech.mp3') # 刪除 MP3 文件 os.remove('speech.mp3')# 如果該腳本被直接運(yùn)行,則調(diào)用 TextToSpeech() 函數(shù),傳入文本和語(yǔ)音轉(zhuǎn)換的目標(biāo)語(yǔ)言if __name__ == '__main__': TextToSpeech('你好,今天過(guò)得怎么樣?', 'zh-cn')
5、PDF 合并器現(xiàn)在,您可以使用以下腳本以編程方式合并您的 PDF 文件,該腳本使用 Pdfrw 模塊讀取您的 PDF 文件的所有頁(yè)面,然后將其合并為一個(gè) PDF 文件。以下是您可以在您的項(xiàng)目中自由使用的代碼。 # PDF 合并器# pip install pdfrwimport pdfrw as pdf# 定義合并 PDF 文件的函數(shù),傳入 PDF 文件路徑列表def merge_pdfs(Pdf_files): pdfs = [] for file in Pdf_files: pdfs.append(pdf.PdfReader(file)) merger = pdf.PdfWriter() for pdf in pdfs: for p in pdf.pages: merger.addpage(p) merger.write('merged.pdf')# 如果該腳本被直接運(yùn)行,則調(diào)用 merge_pdfs() 函數(shù),傳入 PDF 文件路徑列表if __name__ == '__main__': merge_pdfs(['PDF1.pdf', 'PDF2.pdf']) # 代碼輸出:# 將 'PDF1.pdf' 和 'PDF2.pdf' 兩個(gè)文件合并為 'merged.pdf' 文件。 6、天氣預(yù)報(bào)使用此自動(dòng)化腳本,您可以使用 Pywttr 模塊獲取來(lái)自 Wttr.in 的最新天氣預(yù)報(bào),并使用 Windows-toasts 模塊為您生成一條通知,以便您了解您所在城市的當(dāng)前天氣情況。 # 天氣警報(bào)# 需要安裝 pywttr 和 windows-toasts 庫(kù)# pip install pywttr# pip install windows-toastsfrom pywttr import Wttrfrom windows_toasts import WindowsToaster, ToastText1# 獲取天氣數(shù)據(jù)city = '北京'weather = Wttr(city)w = weather.cn()# 顯示天氣警報(bào)notifier = WindowsToaster('天氣警報(bào)')msg = ToastText1()msg.SetBody(w.weather[0].avgtemp_c + '°C')msg.on_activated = lambda action: print(action)notifier.show_toast(msg)# 代碼輸出:# 該腳本會(huì)在 Windows 桌面右下角顯示一條通知,顯示北京的當(dāng)前溫度。 7、生成 PDF 報(bào)告使用以下 Python 腳本,可以編寫(xiě)代碼生成 PDF 報(bào)告。該腳本使用 FPDF 模塊,可以輕松地使用幾行代碼創(chuàng)建 PDF 文件。以下是您可以使用的一些重要函數(shù)來(lái)創(chuàng)建 PDF 報(bào)告文件。 # 生成 PDF 報(bào)告# pip install fpdf2# 需要安裝 fpdf2 庫(kù)from fpdf import FPDF# 創(chuàng)建 PDF 對(duì)象report = FPDF()# 添加頁(yè)面report.add_page()# 設(shè)置字體樣式和大小report.set_font('Arial', size=15)# 在 PDF 中插入一行文本report.cell(100, 10, txt='Python', ln=1, align='C')# 添加圖像report.image('image.png', w=50, h=50)# 將 PDF 文件保存為 'test.pdf'report.output('test.pdf')# 代碼輸出:# 該腳本將在當(dāng)前目錄下創(chuàng)建一個(gè)名為 'test.pdf' 的 PDF 文件,其中包含一個(gè)居中顯示的文本行和一個(gè)圖像。 8、CSV 轉(zhuǎn) Excel 轉(zhuǎn)換器如果您需要將 CSV 文件轉(zhuǎn)換為 Excel 文件,則可以使用以下 Python 腳本。此自動(dòng)化腳本使用 Pandas 模塊,可以使用幾行代碼將任何 CSV 文件轉(zhuǎn)換為 Excel 格式。 當(dāng)您需要將大量且多個(gè) CSV 文件轉(zhuǎn)換為 Excel 格式時(shí),此實(shí)用程序腳本非常有用。 # CSV 轉(zhuǎn) Excel 轉(zhuǎn)換器# 需要安裝 pandas 庫(kù)import pandas as pddef CSVtoExcel(csv_file): converter = pd.read_csv(csv_file) converter.to_excel('Converted.xlsx', index=False) print('Conversion successful')if __name__ == '__main__': CSVtoExcel('Data.csv')# 代碼輸出:# 該腳本將在當(dāng)前目錄下創(chuàng)建一個(gè)名為 'Converted.xlsx' 的 Excel 文件,其中包含從 'Data.csv' 文件中讀取的數(shù)據(jù)。 9、JSON 轉(zhuǎn) CSV 轉(zhuǎn)換器使用以下自動(dòng)化腳本將您的 json 文件轉(zhuǎn)換為 CSV 格式。此腳本使用 JSON 和 CSV 模塊,讀取您的 Json 文件內(nèi)容,然后將其寫(xiě)入 CSV 字典格式。 # JSON 轉(zhuǎn) CSV 轉(zhuǎn)換器import jsonimport csvdef json_to_csv(json_file): with open(json_file, 'r') as J: Json_data = json.load(J) with open('data.csv', 'w') as C: csv_writer = csv.DictWriter(C, Json_data[0].keys()) csv_writer.writeheader() for r in Json_data: csv_writer.writerow(r)if __name__ == '__main__': json_to_csv('data.json')# 代碼輸出:# 該腳本將在當(dāng)前目錄下創(chuàng)建一個(gè)名為 'data.csv' 的 CSV 文件,其中包含從 'data.json' 文件中讀取的數(shù)據(jù)。 |
|
來(lái)自: 老三的休閑書(shū)屋 > 《PYTHON》