以下は、さまざまなニーズに適した 10 の実用的な Python 自動化スクリプトです。
- 画像最適化ツール
Pillow モジュールを使用して画像を編集します。
# 画像最適化
# pip install Pillow
import PIL
# クロッピング
im = PIL.Image.open("Image1.jpg")
im = im.crop((34, 23, 100, 100))
# リサイズ
im = PIL.Image.open("Image1.jpg")
im = im.resize((50, 50))
# フリッピング
im = PIL.Image.open("Image1.jpg")
im = im.transpose(PIL.Image.FLIP_LEFT_RIGHT)
# 回転
im = PIL.Image.open("Image1.jpg")
im = im.rotate(360)
# 圧縮
im = PIL.Image.open("Image1.jpg")
im.save("Image1.jpg", optimize=True, quality=90)
# ぼかし
im = PIL.Image.open("Image1.jpg")
im = im.filter(PIL.ImageFilter.BLUR)
# シャープ化
im = PIL.Image.open("Image1.jpg")
im = im.filter(PIL.ImageFilter.SHARPEN)
# 明るさの設定
im = PIL.Image.open("Image1.jpg")
im = PIL.ImageEnhance.Brightness(im)
im = im.enhance(1.5)
# コントラストの設定
im = PIL.Image.open("Image1.jpg")
im = PIL.ImageEnhance.Contrast(im)
im = im.enhance(1.5)
# フィルターの追加
im = PIL.Image.open("Image1.jpg")
im = PIL.ImageOps.grayscale(im)
im = PIL.ImageOps.invert(im)
im = PIL.ImageOps.posterize(im, 4)
# 保存
im.save("Image1.jpg")
- 動画最適化ツール
MoviePy モジュールを使用して動画を最適化します。
# 動画最適化
# pip install moviepy
import moviepy.editor as pyedit
# 動画を読み込む
video = pyedit.VideoFileClip("vid.mp4")
# トリミング
vid1 = video.subclip(0, 10)
vid2 = video.subclip(20, 40)
final_vid = pyedit.concatenate_videoclips([vid1, vid2])
# 動画の速度を上げる
final_vid = final_vid.speedx(2)
# 動画に音声を追加
aud = pyedit.AudioFileClip("bg.mp3")
final_vid = final_vid.set_audio(aud)
# 動画を逆再生
final_vid = final_vid.fx(pyedit.vfx.time_mirror)
# 2つの動画を結合
vid1 = pyedit.VideoFileClip("vid1.mp4")
vid2 = pyedit.VideoFileClip("vid2.mp4")
final_vid = pyedit.concatenate_videoclips([vid1, vid2])
# 動画にVFXを追加
vid1 = final_vid.fx(pyedit.vfx.mirror_x)
vid2 = final_vid.fx(pyedit.vfx.invert_colors)
final_vid = pyedit.concatenate_videoclips([vid1, vid2])
# 動画に画像を追加
img1 = pyedit.ImageClip("img1.jpg")
img2 = pyedit.ImageClip("img2.jpg")
final_vid = pyedit.concatenate_videoclips([img1, img2])
# 動画を保存
final_vid.write_videofile("final.mp4")
- PDF を画像に変換
PDF ページを画像に変換します。
# PDFを画像に
# pip install PyMuPDF
import fitz
def pdf_to_images(pdf_file):
doc = fitz.open(pdf_file)
for p in doc:
pix = p.get_pixmap()
output = f"page{p.number}.png"
pix.writePNG(output)
pdf_to_images("test.pdf")
- API データの取得
API からデータを取得または送信します。
# pip install urllib3
import urllib3
# APIデータを取得
url = "https://api.github.com/users/psf/repos"
http = urllib3.PoolManager()
response = http.request('GET', url)
print(response.status)
print(response.data)
# APIデータを送信
url = "https://httpbin.org/post"
http = urllib3.PoolManager()
response = http.request('POST', url, fields={'hello': 'world'})
print(response.status)
- バッテリー通知
バッテリー残量を監視し、通知を発します。
# バッテリー通知
# pip install plyer
from plyer import notification
import psutil
from time import sleep
while True:
battery = psutil.sensors_battery()
life = battery.percent
if life < 50:
notification.notify(
title="バッテリー残量低下",
message="電源に接続してください",
timeout=10
)
sleep(60)
- 文法修正ツール
テキスト内の文法エラーを自動的に修正します。
# 文法修正ツール
# pip install happytransformer
from happytransformer import HappyTextToText as HappyTTT
from happytransformer import TTSettings
def Grammer_Fixer(Text):
Grammer = HappyTTT("T5", "prithivida/grammar_error_correcter_v1")
config = TTSettings(do_sample=True, top_k=10, max_length=100)
corrected = Grammer.generate_text(Text, args=config)
print("修正されたテキスト: ", corrected.text)
Text = "This is smple tet we how know this"
Grammer_Fixer(Text)
- スペル修正
テキスト内のスペルエラーを修正します。
# スペル修正ツール
# pip install textblob
from textblob import *
# 段落のスペルを修正
def fix_paragraph_words(paragraph):
sentence = TextBlob(paragraph)
correction = sentence.correct()
print(correction)
# 単語のスペルを修正
def fix_word_spell(word):
word = Word(word)
correction = word.correct()
print(correction)
fix_paragraph_words("This is sammple tet!!")
fix_word_spell("maangoo")
- インターネットダウンローダー
自分のダウンローダーを作成します。
# Pythonダウンローダー
# pip install internetdownloadmanager
import internetdownloadmanager as idm
def Downloader(url, output):
pydownloader = idm.Downloader(worker=20,
part_size=1024*1024*10,
resumable=True)
pydownloader.download(url, output)
Downloader("Link url", "image.jpg")
Downloader("Link url", "video.mp4")
- 世界のニュースを取得
毎日の世界のニュースを取得します。
# 世界のニュース取得ツール
# pip install requests
import requests
ApiKey = "YOUR_API_KEY"
url = f"https://api.worldnewsapi.com/search-news?text=hurricane&api-key={ApiKey}"
headers = {
'Accept': 'application/json'
}
response = requests.get(url, headers=headers)
print("ニュース: ", response.json())
- PySide2 GUI
GUI アプリケーションを作成します。
# PySide 2
# pip install PySide2
from PySide6.QtWidgets import *
from PySide6.QtGui import *
import sys
app = QApplication(sys.argv)
window = QWidget()
# ウィンドウのサイズを変更
window.resize(500, 500)
# ウィンドウのタイトルを設定
window.setWindowTitle("PySide2ウィンドウ")
# ボタンを追加
button = QPushButton("クリックしてね", window)
button.move(200, 200)
# ラベルテキストを追加
label = QLabel("こんにちは Medium", window)
label.move(200, 150)
# 入力ボックスを追加
input_box = QLineEdit(window)
input_box.move(200, 250)
# ラジオボタンを追加
radio_button = QRadioButton("ラジオボタン", window)
radio_button.move(200, 300)
# チェックボックスを追加
checkbox = QCheckBox("チェックボックス", window)
checkbox.move(200, 350)
# スライダーを追加
slider = QSlider(window)
slider.move(200, 400)
# プログレスバーを追加
progress_bar = QProgressBar(window)
progress_bar.move(200, 450)
# 画像を追加
image = QLabel(window)
image.setPixmap(QPixmap("image.png"))
# メッセージボックスを追加
msg = QMessageBox(window)
msg.setText("メッセージボックス")
msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
window.show()
sys.exit(app.exec())