分享10個拿來即用的Python自動化腳本
今天分享10個簡單且實用的Python自動化腳本,適用于日常工作中的各種任務(wù)。
1. 批量修改文件擴展名
將指定目錄下所有特定擴展名的文件更改為新的擴展名。
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. 自動創(chuàng)建多個文件夾
快速創(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個名為"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. 簡單的文件搜索工具
在指定目錄下搜索包含特定文本的文件。
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. 批量刪除特定擴展名的文件
在指定目錄中刪除所有特定擴展名的文件。
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))
# 使用示例:刪除所有擴展名為.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)控文件夾變化
實時監(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. 簡單的網(wǎng)頁內(nèi)容抓取
抓取網(wǎng)頁的標題。
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ò)操作到圖像處理等多種場景,可根據(jù)具體需求調(diào)整使用,希望你能用在工作場景。
到此這篇關(guān)于分享10個拿來即用的Python自動化腳本的文章就介紹到這了,更多相關(guān)Python自動化腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python基于opencv實現(xiàn)的人臉識別(適合初學者)
OpenCV是一個基于BSD許可開源發(fā)行的跨平臺計算機視覺庫,下面這篇文章主要給大家介紹了關(guān)于Python基于opencv實現(xiàn)的人臉識別,文中通過實例代碼介紹的非常詳細,本文的教程非常適合初學者,需要的朋友可以參考下2022-03-03
Python爬取肯德基官網(wǎng)ajax的post請求實現(xiàn)過程
這篇文章主要介紹了Python爬取肯德基官網(wǎng)ajax的post請求實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家學有所得,多多進步2021-10-10
Python緩存方案優(yōu)化程序性能提高數(shù)據(jù)訪問速度
Python緩存方案是一種優(yōu)化程序性能,提高數(shù)據(jù)訪問速度的方案。通過緩存數(shù)據(jù),可以減少重復的計算和IO操作,從而提高程序的運行效率。Python中常用的緩存方案包括內(nèi)存緩存、磁盤緩存和分布式緩存等,根據(jù)實際需求選擇不同的方案可以幫助我們更好地優(yōu)化程序性能2023-05-05
python tkinter實現(xiàn)界面切換的示例代碼
今天小編就為大家分享一篇python tkinter實現(xiàn)界面切換的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06

