banner
andrewji8

Being towards death

Heed not to the tree-rustling and leaf-lashing rain, Why not stroll along, whistle and sing under its rein. Lighter and better suited than horses are straw sandals and a bamboo staff, Who's afraid? A palm-leaf plaited cape provides enough to misty weather in life sustain. A thorny spring breeze sobers up the spirit, I feel a slight chill, The setting sun over the mountain offers greetings still. Looking back over the bleak passage survived, The return in time Shall not be affected by windswept rain or shine.
telegram
twitter
github

5つの便利で使いやすいPython自動化スクリプト、そのまま使えます!

相比大家都听过自动化生产线、自动化オフィスなどの用語では、人の介入なしで機械がさまざまなタスクを自動的に完了できるため、作業効率が大幅に向上しました。
プログラミングの世界にはさまざまな自動化スクリプトがあり、さまざまなタスクを実行するために使用されます。

特に Python は自動化スクリプトの作成に非常に適しています。なぜなら、その構文が簡潔で理解しやすく、豊富なサードパーティのツールライブラリがあるからです。

今回は Python を使用していくつかの自動化シナリオを実装し、おそらくあなたの仕事に役立つかもしれません。

  1. ウェブページニュースの自動読み込み
    このスクリプトは、ウェブページからテキストを取得し、自動的に音声読み上げを行うことができます。ニュースを聞きたいときに便利です。

コードは 2 つの主要な部分に分かれています。最初に、ウェブスクレイピングによってウェブページのテキストを取得し、次に読み上げツールを使用してテキストを読み上げます。

必要なサードパーティライブラリ:

Beautiful Soup - クラシックな HTML/XML テキストパーサーで、スクレイピングしたウェブページ情報を抽出するために使用されます。

requests - 使いやすくて強力な HTTP ツールで、ウェブページにリクエストを送信してデータを取得するために使用されます。

Pyttsx3 - テキストを音声に変換し、速度、周波数、音声を制御するために使用されます。

import pyttsx3
import requests
from bs4 import BeautifulSoup
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
newVoiceRate = 130                       ## 話す速度を減らす
engine.setProperty('rate',newVoiceRate)
engine.setProperty('voice', voices[1].id)
def speak(audio):
  engine.say(audio)
  engine.runAndWait()
text = str(input("記事を貼り付け\n"))
res = requests.get(text)
soup = BeautifulSoup(res.text,'html.parser')

articles = []
for i in range(len(soup.select('.p'))):
    article = soup.select('.p')[i].getText().strip()
    articles.append(article)
text = " ".join(articles)
speak(text)
# engine.save_to_file(text, 'test.mp3') ## 音声をオーディオファイルとして保存する場合
engine.runAndWait()
  1. スケッチの自動生成
    このスクリプトは、カラー画像を鉛筆スケッチに変換することができます。人物や風景に対して非常に効果的です。

また、わずか数行のコードで一括生成できるため、バッチ処理に適しています。

必要なサードパーティライブラリ:

Opencv - コンピュータビジョンツールで、多様な画像およびビデオ処理を実現するための Python インターフェースがあります。

""" Pythonを使用した写真スケッチング """
  import cv2
  img = cv2.imread("elon.jpg")

  ## グレースケール画像への変換
  gray_image = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

  ## グレースケール画像を反転させる
  inverted_gray_image = 255-gray_image

  ## 反転したグレースケール画像のぼかし
  blurred_inverted_gray_image = cv2.GaussianBlur(inverted_gray_image, (19,19),0)

  ## ぼかした画像を反転させる
  inverted_blurred_image = 255-blurred_inverted_gray_image

  ### スケッチの準備
  sketck = cv2.divide(gray_image, inverted_blurred_image,scale= 256.0)

  cv2.imshow("元の画像",img)
  cv2.imshow("鉛筆スケッチ", sketck)
  cv2.waitKey(0)

image
3. 自動メール送信
このスクリプトは、メールの一括定時送信を支援することができます。メールの内容や添付ファイルもカスタマイズできます。

メールクライアントと比較して、Python スクリプトの利点は、メールサービスをスマート、一括、高度にカスタマイズできることです。

必要なサードパーティライブラリ:

Email - 電子メールメッセージの管理に使用されます。

Smtlib - SMTP サーバーに電子メールを送信するために使用され、SMTP または ESMTP リスナーを持つインターネット上の任意のコンピュータにメールを送信する SMTP クライアントセッションオブジェクトを定義します。

Pandas - データ分析およびクリーニングツールに使用されます。

import smtplib 
from email.message import EmailMessage
import pandas as pd

def send_email(remail, rsubject, rcontent):
    email = EmailMessage()                          ## EmailMessageのオブジェクトを作成
    email['from'] = 'The Pythoneer Here'            ## 送信者
    email['to'] = remail                            ## 送信先
    email['subject'] = rsubject                     ## メールの件名
    email.set_content(rcontent)                     ## メールの内容
    with smtplib.SMTP(host='smtp.gmail.com',port=587)as smtp:     
        smtp.ehlo()                                 ## サーバーオブジェクト
        smtp.starttls()                             ## サーバーとクライアント間でデータを送信するために使用
        smtp.login("[email protected]","delta@371") ## GmailのログインIDとパスワード
        smtp.send_message(email)                    ## メールの送信
        print("email send to ",remail)              ## 送信成功メッセージの表示

if __name__ == '__main__':
    df = pd.read_excel('list.xlsx')
    length = len(df)+1

    for index, item in df.iterrows():
        email = item[0]
        subject = item[1]
        content = item[2]

        send_email(email,subject,content)
  1. データの自動探索
    データの探索はデータサイエンスプロジェクトの最初のステップであり、より深い価値を分析するためにデータの基本情報を把握する必要があります。

通常、pandas や matplotlib などのツールを使用してデータを探索しますが、大量のコードを自分で書く必要があります。効率を向上させるためには、Dtale が良い選択肢です。

Dtale は、1 行のコードで自動分析レポートを生成する特徴があります。Flask バックエンドと React フロントエンドを組み合わせて、Pandas データ構造の表示と分析を簡単に行う方法を提供します。

Jupyter で Dtale を使用することができます。

必要なサードパーティライブラリ:

Dtale - 自動分析レポートの生成

### Seabornライブラリをインポートしていくつかのデータセットを表示
import seaborn as sns

### Seabornライブラリの組み込みデータセットを表示
print(sns.get_dataset_names())


### Titanicデータセットの読み込み
df=sns.load_dataset('titanic')

### ライブラリのインポート
import dtale

#### クイックサマリーの生成
dtale.show(df)

image
5. 自動デスクトップ通知
このスクリプトは、Windows デスクトップ通知を自動的にトリガーし、重要な事項を通知します。たとえば、「2 時間働いたので休憩しましょう」といった内容です。

10 分ごと、1 時間ごとなど、定期的な通知を設定することができます。

必要なサードパーティライブラリ:

win10toast - デスクトップ通知を送信するためのツール

from win10toast import ToastNotifier
import time
toaster = ToastNotifier()

header = input("何を覚えておいてほしいですか\n")
text = input("関連するメッセージ\n")
time_min=float(input("何分後に?\n"))

time_min = time_min * 60
print("リマインダーを設定中..")
time.sleep(2)
print("準備完了!")
time.sleep(time_min)
toaster.show_toast(f"{header}", f"{text}", duration=10, threaded=True)
while toaster.notification_active(): time.sleep(0.005)

image

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。