分享10個(gè)拿來(lái)即用的Python自動(dòng)化腳本
今天分享10個(gè)簡(jiǎn)單且實(shí)用的Python自動(dòng)化腳本,適用于日常工作中的各種任務(wù)。
1. 批量修改文件擴(kuò)展名
將指定目錄下所有特定擴(kuò)展名的文件更改為新的擴(kuò)展名。
import os def rename_file_extensions(folder_path, old_ext, new_ext): for filename in os.listdir(folder_path): if filename.endswith(old_ext): base = os.path.splitext(filename)[0] new_filename = base + new_ext os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename)) # 使用示例:將所有.txt文件改為.md rename_file_extensions('/path/to/folder', '.txt', '.md')
2. 自動(dòng)創(chuàng)建多個(gè)文件夾
快速創(chuàng)建一系列以數(shù)字或日期命名的文件夾。
import os def create_folders(base_path, prefix, count): for i in range(1, count + 1): os.makedirs(os.path.join(base_path, f"{prefix}{i}")) # 使用示例:在指定路徑下創(chuàng)建10個(gè)名為"Folder1"到"Folder10"的文件夾 create_folders('/path/to/base', 'Folder', 10)
3. 下載網(wǎng)絡(luò)圖片
根據(jù)提供的URL列表下載圖片。
import requests def download_images(url_list, save_folder): for url in url_list: img_data = requests.get(url).content filename = url.split('/')[-1] with open(os.path.join(save_folder, filename), 'wb') as file: file.write(img_data) # 使用示例 url_list = ['http://example.com/image1.jpg', 'http://example.com/image2.jpg'] download_images(url_list, '/path/to/save/folder')
4. 簡(jiǎn)單的文件搜索工具
在指定目錄下搜索包含特定文本的文件。
import os def search_files(directory, text): for filename in os.listdir(directory): if text in filename: print(os.path.join(directory, filename)) # 使用示例:在目錄中搜索包含"report"的文件 search_files('/path/to/directory', 'report')
5. 批量刪除特定擴(kuò)展名的文件
在指定目錄中刪除所有特定擴(kuò)展名的文件。
import os def delete_files_by_extension(folder_path, extension): for filename in os.listdir(folder_path): if filename.endswith(extension): os.remove(os.path.join(folder_path, filename)) # 使用示例:刪除所有擴(kuò)展名為.tmp的文件 delete_files_by_extension('/path/to/folder', '.tmp')
6. CSV文件轉(zhuǎn)換為JSON
將CSV文件的內(nèi)容轉(zhuǎn)換為JSON格式。
import csv import json def csv_to_json(csv_file_path, json_file_path): with open(csv_file_path, 'r') as csv_file, open(json_file_path, 'w') as json_file: reader = csv.DictReader(csv_file) json_data = [row for row in reader] json.dump(json_data, json_file, indent=4) # 使用示例 csv_to_json('/path/to/file.csv', '/path/to/file.json')
7. 監(jiān)控文件夾變化
實(shí)時(shí)監(jiān)控指定文件夾的變化(如文件添加、刪除、修改)。
import time import os def monitor_folder_changes(folder_path): initial_files = set(os.listdir(folder_path)) while True: current_files = set(os.listdir(folder_path)) new_files = current_files - initial_files deleted_files = initial_files - current_files if new_files: print(f"Added: {new_files}") if deleted_files: print(f"Deleted: {deleted_files}") initial_files = current_files time.sleep(1) # 使用示例:監(jiān)控指定文件夾 monitor_folder_changes('/path/to/monitor')
8. 簡(jiǎn)單的網(wǎng)頁(yè)內(nèi)容抓取
抓取網(wǎng)頁(yè)的標(biāo)題。
import requests from bs4 import BeautifulSoup def fetch_webpage_title(url): response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser') return soup.title.text # 使用示例 title = fetch_webpage_title('http://example.com') print(title)
9. 批量修改圖片尺寸
更改指定文件夾中所有圖片的尺寸。
from PIL import Image import os def resize_images(folder_path, output_folder, size): for filename in os.listdir(folder_path): if filename.lower().endswith(('.png', '.jpg', '.jpeg')): img = Image.open(os.path.join(folder_path, filename)) img = img.resize(size, Image.ANTIALIAS) img.save(os.path.join(output_folder, filename)) # 使用示例:將所有圖片尺寸修改為500x500 resize_images('/path/to/images', '/path/to/output', (500, 500))
10. 批量壓縮PDF文件
減小指定目錄中所有PDF文件的大小。
from PyPDF2 import PdfFileReader, PdfFileWriter import os def compress_pdf(input_folder, output_folder): for filename in os.listdir(input_folder): if filename.endswith('.pdf'): pdf_reader = PdfFileReader(os.path.join(input_folder, filename)) pdf_writer = PdfFileWriter() for page_num in range(pdf_reader.getNumPages()): pdf_writer.addPage(pdf_reader.getPage(page_num)) with open(os.path.join(output_folder, filename), 'wb') as out: pdf_writer.write(out) # 使用示例 compress_pdf('/path/to/pdf/folder', '/path/to/output/folder')
這些腳本覆蓋了從文件管理、網(wǎng)絡(luò)操作到圖像處理等多種場(chǎng)景,可根據(jù)具體需求調(diào)整使用,希望你能用在工作場(chǎng)景。
到此這篇關(guān)于分享10個(gè)拿來(lái)即用的Python自動(dòng)化腳本的文章就介紹到這了,更多相關(guān)Python自動(dòng)化腳本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 20個(gè)超實(shí)用Python自動(dòng)化腳本分享
- 10個(gè)殺手級(jí)應(yīng)用的Python自動(dòng)化腳本
- 5個(gè)Python殺手級(jí)的自動(dòng)化腳本分享
- 分享十個(gè)Python超級(jí)好用提高工作效率的自動(dòng)化腳本
- 分享4個(gè)Python中的非常好用的自動(dòng)化腳本
- 分享十個(gè)Python提高工作效率的自動(dòng)化腳本
- 八個(gè)超級(jí)好用的Python自動(dòng)化腳本(小結(jié))
- 十個(gè)簡(jiǎn)單使用的Python自動(dòng)化腳本分享
- 分享5個(gè)方便好用的Python自動(dòng)化腳本
- 10個(gè)常用python自動(dòng)化腳本
相關(guān)文章
Python提取Word中圖片的實(shí)現(xiàn)步驟
本文主要介紹了Python提取Word中圖片的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

Python實(shí)現(xiàn)端口復(fù)用實(shí)例代碼

django自帶的權(quán)限管理Permission用法說(shuō)明

python開啟攝像頭以及深度學(xué)習(xí)實(shí)現(xiàn)目標(biāo)檢測(cè)方法