一組小腳本,用于自動化您的日常項目和問題解決 ![]() 很多手動重復(fù)任務(wù)需要完成,例如生成 PDF 報告、調(diào)整照片大小、壓縮視頻、合并 PDF 文件、發(fā)送電子郵件和短信等等。但是,您可以使用您最喜歡的編程語言 Python 來自動化這些任務(wù)。在本文中,我將向您展示 10 個 Python 小自動化腳本。所以,請把這篇文章標(biāo)記在您的列表上,讓我們開始吧。
1、圖片調(diào)整大小腳本使用此 Python 腳本調(diào)整圖片大小而不會丟失其實際質(zhì)量和縱橫比。這個便捷的腳本使用 Imageio 模塊,可以保持圖像質(zhì)量的同時將其調(diào)整到任何大小。 這個實用的腳本可以輕松自動化您的手動圖片調(diào)整任務(wù)。請查看下面提供的腳本代碼。
# 圖片調(diào)整大小腳本# 需要安裝 imageio 庫# pip install imageioimport imageio.v3 as imageio# 定義調(diào)整圖片大小的函數(shù),傳入兩個參數(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)# 如果該腳本被直接運行,則調(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、視頻壓縮器使用此自動化腳本將視頻文件大小壓縮到更小,腳本使用了 Moviepy 模塊,可以使視頻大小更小,同時保持視頻質(zhì)量良好。下面我將提到您可以使用腳本測試的預(yù)設(shè)選項,以選擇最佳選項,如下屬性所示:
# 視頻壓縮器# 需要安裝 moviepy 庫# 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')# 如果該腳本被直接運行,則調(diào)用 Compress_Video() 函數(shù),傳入視頻文件路徑if __name__ == '__main__': Compress_Video('video.mp4') '''代碼輸出:Video Compressed''' 3、ZIP 文件提取器如果有很多需要解壓縮的 ZIP 文件,那么就不要手動操作了,可以使用這個帶有內(nèi)置 Zip 文件模塊的自動化腳本,它可以幫助您在任何文件夾中解壓縮 ZIP 文件。以下是您可以自由使用的腳本。
# ZIP 文件提取器import zipfilefrom zipfile import ZipFileimport os# 定義解壓縮 ZIP 文件的函數(shù),傳入 ZIP 文件路徑列表def extract_zip(files): for file in files: # 使用 ZipFile 模塊打開 ZIP 文件,并解壓縮文件到 ZIP 文件所在的文件夾 with ZipFile(file, 'r') as zip_f: zip_f.extractall(os.path.dirname(file)) # 輸出解壓縮完成的提示信息 print('Files extracted')# 如果該腳本被直接運行,則調(diào)用 extract_zip() 函數(shù),傳入 ZIP 文件路徑列表if __name__ == '__main__': extract_zip(['zip1.zip', 'zip2.zip']) '''代碼輸出:Files extracted''' 4、文本轉(zhuǎn)語音如果您需要將文本轉(zhuǎn)換為人工智能語音,則可以使用此 Python 腳本,它使用 Gtts 模塊,該模塊是谷歌翻譯語音 AI,可以將您的文本轉(zhuǎn)換為帶有真實人類機器聲音的語音。
# 文本轉(zhuǎn)語音轉(zhuǎn)換器# pip install gTTS# pip install playsoundfrom gtts import gTTSfrom playsound import playsound as playimport os# 定義文本轉(zhuǎn)語音轉(zhuǎn)換的函數(shù),傳入兩個參數(shù),分別是待轉(zhuǎn)換的文本和語音轉(zhuǎn)換的目標(biāo)語言def TextToSpeech(text, lang): # 使用 gTTS 模塊將文本轉(zhuǎn)換為語音,并保存為 MP3 文件 converter = gTTS(text, lang= lang) converter.save('speech.mp3') # 使用 playsound 模塊播放 MP3 文件 play('speech.mp3') # 刪除 MP3 文件 os.remove('speech.mp3')# 如果該腳本被直接運行,則調(diào)用 TextToSpeech() 函數(shù),傳入文本和語音轉(zhuǎn)換的目標(biāo)語言if __name__ == '__main__': TextToSpeech('How are you today?', 'en') 要支持中文語音轉(zhuǎn)換,您需要將 'lang' 參數(shù)設(shè)置為 'zh-cn',表示目標(biāo)語言為中文。以下是修改后的代碼: # 文本轉(zhuǎn)語音轉(zhuǎn)換器# 需要安裝 gTTS 和 playsound 庫# pip install gTTS# pip install playsoundfrom gtts import gTTSfrom playsound import playsound as playimport os# 定義文本轉(zhuǎn)語音轉(zhuǎn)換的函數(shù),傳入兩個參數(shù),分別是待轉(zhuǎn)換的文本和語音轉(zhuǎn)換的目標(biāo)語言def TextToSpeech(text, lang): # 使用 gTTS 模塊將文本轉(zhuǎn)換為語音,并保存為 MP3 文件 converter = gTTS(text, lang=lang) converter.save('speech.mp3') # 使用 playsound 模塊播放 MP3 文件 play('speech.mp3') # 刪除 MP3 文件 os.remove('speech.mp3')# 如果該腳本被直接運行,則調(diào)用 TextToSpeech() 函數(shù),傳入文本和語音轉(zhuǎn)換的目標(biāo)語言if __name__ == '__main__': TextToSpeech('你好,今天過得怎么樣?', 'zh-cn')
5、PDF 合并器現(xiàn)在,您可以使用以下腳本以編程方式合并您的 PDF 文件,該腳本使用 Pdfrw 模塊讀取您的 PDF 文件的所有頁面,然后將其合并為一個 PDF 文件。以下是您可以在您的項目中自由使用的代碼。 # 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')# 如果該腳本被直接運行,則調(diào)用 merge_pdfs() 函數(shù),傳入 PDF 文件路徑列表if __name__ == '__main__': merge_pdfs(['PDF1.pdf', 'PDF2.pdf']) # 代碼輸出:# 將 'PDF1.pdf' 和 'PDF2.pdf' 兩個文件合并為 'merged.pdf' 文件。 6、天氣預(yù)報使用此自動化腳本,您可以使用 Pywttr 模塊獲取來自 Wttr.in 的最新天氣預(yù)報,并使用 Windows-toasts 模塊為您生成一條通知,以便您了解您所在城市的當(dāng)前天氣情況。 # 天氣警報# 需要安裝 pywttr 和 windows-toasts 庫# pip install pywttr# pip install windows-toastsfrom pywttr import Wttrfrom windows_toasts import WindowsToaster, ToastText1# 獲取天氣數(shù)據(jù)city = '北京'weather = Wttr(city)w = weather.cn()# 顯示天氣警報notifier = WindowsToaster('天氣警報')msg = ToastText1()msg.SetBody(w.weather[0].avgtemp_c + '°C')msg.on_activated = lambda action: print(action)notifier.show_toast(msg)# 代碼輸出:# 該腳本會在 Windows 桌面右下角顯示一條通知,顯示北京的當(dāng)前溫度。 7、生成 PDF 報告使用以下 Python 腳本,可以編寫代碼生成 PDF 報告。該腳本使用 FPDF 模塊,可以輕松地使用幾行代碼創(chuàng)建 PDF 文件。以下是您可以使用的一些重要函數(shù)來創(chuàng)建 PDF 報告文件。 # 生成 PDF 報告# pip install fpdf2# 需要安裝 fpdf2 庫from fpdf import FPDF# 創(chuàng)建 PDF 對象report = FPDF()# 添加頁面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)建一個名為 'test.pdf' 的 PDF 文件,其中包含一個居中顯示的文本行和一個圖像。 8、CSV 轉(zhuǎn) Excel 轉(zhuǎn)換器如果您需要將 CSV 文件轉(zhuǎn)換為 Excel 文件,則可以使用以下 Python 腳本。此自動化腳本使用 Pandas 模塊,可以使用幾行代碼將任何 CSV 文件轉(zhuǎn)換為 Excel 格式。 當(dāng)您需要將大量且多個 CSV 文件轉(zhuǎn)換為 Excel 格式時,此實用程序腳本非常有用。 # CSV 轉(zhuǎn) Excel 轉(zhuǎn)換器# 需要安裝 pandas 庫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)建一個名為 'Converted.xlsx' 的 Excel 文件,其中包含從 'Data.csv' 文件中讀取的數(shù)據(jù)。 9、JSON 轉(zhuǎn) CSV 轉(zhuǎn)換器使用以下自動化腳本將您的 json 文件轉(zhuǎn)換為 CSV 格式。此腳本使用 JSON 和 CSV 模塊,讀取您的 Json 文件內(nèi)容,然后將其寫入 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)建一個名為 'data.csv' 的 CSV 文件,其中包含從 'data.json' 文件中讀取的數(shù)據(jù)。 |
|