ホームページ  >  記事  >  バックエンド開発  >  半分の労力で 2 倍の結果を得る 10 個の超実践的な Python 自動化スクリプトを共有します

半分の労力で 2 倍の結果を得る 10 個の超実践的な Python 自動化スクリプトを共有します

WBOY
WBOY転載
2023-04-12 16:31:151153ブラウズ

私たちが日々の仕事や勉強をしていると、常にさまざまな問題に遭遇しますが、その多くは単純な操作を何度も繰り返すものです。Python スクリプトを使用して処理を自動化するのはいかがでしょうか。今日は、高度な 10 のトピックを紹介します。不必要な時間の無駄を減らし、仕事や勉強の効率を向上させるのに役立つ Python スクリプト。

半分の労力で 2 倍の結果を得る 10 個の超実践的な Python 自動化スクリプトを共有します

写真に透かしを追加する

写真に透かしを追加するためのさまざまなコードがあります。以下が最も単純な形式です:

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw

def watermark_Image(img_path,output_path, text, pos):
img = Image.open(img_path)
drawing = ImageDraw.Draw(img)
black = (10, 5, 12)
drawing.text(pos, text, fill=black)
img.show()
img.save(output_path)

img = '2.png'
watermark_Image(img, 'watermarked_2.jpg','Python爱好者集中营', pos=(10, 10))

テキスト ファイルの類似性の検出

2 つのファイルの類似性をチェックして、どの程度の類似性があるかを確認する必要があることがよくあります。おそらく、次のスクリプト ファイルが便利です。 ##

from difflib import SequenceMatcher

def file_similarity_checker(f1, f2):
with open(f1, errors="ignore") as file1, open(f2, errors="ignore") as file2:
f1_data = file1.read()
f2_data = file2.read()
checking = SequenceMatcher(None, f1_data, f2_data).ratio()
print(f"These files are {checking*100} % similar")

file_1 = "路径1"
file_2 = "路径2"
file_similarity_checker(file_1, file_2)

ファイルの内容を暗号化する

暗号化

私たちの手元にあるファイルの内容は非常に重要である場合があります。非常に機密です。暗号化を選択できます。コードは次のとおりです:

from cryptography.fernet import Fernet

def encrypt(filename, key):
fernet = Fernet(key)
with open(filename, 'rb') as file:
original = file.read()
encrypted = fernet.encrypt(original)
with open(filename, 'wb') as enc_file:
enc_file.write(encrypted)

key = Fernet.generate_key()
filename = "file.txt"
encrypt(filename, key)

キーを生成し、ファイルの内容を暗号化します。もちろん、このキーは後でファイルを復号化するために使用されます。非常に便利なので、キーは大切に保管しておく必要があります。復号コードは次のとおりです:

def decrypt(filename, key):
fernet = Fernet(key)
with open(filename, 'rb') as enc_file:
encrypted = enc_file.read()
decrypted = fernet.decrypt(encrypted)
with open(filename, 'wb') as dec_file:
dec_file.write(decrypted)

decrypt(filename, key)

上記のスクリプトでは、キーはランダムに生成された乱数です。もちろん、キーは次のとおりです。独自に指定したコードは次のとおりです:

import pyAesCrypt

def Encryption(input_file_path, output_file_path, key):
pyAesCrypt.encryptFile(input_file_path, output_file_path, key)
print("File has been decrypted")

def Decryption(input_file_path, output_file_path, key):
pyAesCrypt.decryptFile(input_file_path, output_file_path, key)
print("File has been decrypted")

写真を PDF に変換

写真を PDF 形式に変換したり、写真を PDF ファイルに順番に追加したりする必要がある場合があります。コードは次のとおりです。

import os
import img2pdf

with open("Output.pdf", "wb") as file:
file.write(img2pdf.convert([i for i in os.listdir('文件路径') if i.endswith(".jpg")]))

写真の長さと幅を変更する

写真の長さと幅を変更したい場合は、次のコードが役に立ちます。コードは次のとおりです:

from PIL import Image
import os
def img_resize(file, h, w):
img = Image.open(file)
Resize = img.resize((h,w), Image.ANTIALIAS)
Resize.save('resized.jpg', 'JPEG', quality=90)

img_resize("文件路径", 400, 200)

写真に対するその他の操作については、

上の写真の長さと幅を変更することに加えて、写真の内容をぼかすなど、写真に対するその他の操作もあります:

img = Image.open('1.jpg')
blur = img.filter(ImageFilter.BLUR)
blur.save('output.jpg')

写真を 90 度反転します:

img = Image.open('1.jpg')
rotate = img.rotate(90)
rotate.save('output.jpg')

写真を鮮明にするには:

img = Image.open('1.jpg')
sharp = img.filter(ImageFilter.SHARPEN)
sharp.save('output.jpg')

写真を左右対称に反転します。コードは次のとおりです:

img = Image.open('1.jpg')
transpose = img.transpose(Image.FLIP_LEFT_RIGHT)
transpose.save('output.jpg')

写真をグレースケールで処理するには:

img = Image.open('1.jpg')
convert = img.convert('L')
convert.save('output.jpg')

ネットワーク速度のテスト

もちろん、ネットワーク速度のテストを開始する前に、事前に依存モジュールをダウンロードする必要があります

pip install speedtest-cli

次に、ネットワーク速度のテストを開始します。

from speedtest import Speedtest

def Testing_Speed(net):
download = net.download()
upload = net.upload()
print(f'下载速度: {download/(1024*1024)} Mbps')
print(f'上传速度: {upload/(1024*1024)} Mbps')
print("开始网速的测试 ...")

net = Speedtest()
Testing_Speed(net)

通貨為替レート変換

たとえば、米ドルとポンドの間の為替レート変換を確認したいとします。ポンドは何ポンドになる可能性がありますか? 100 米ドルから換算すると、コードは次のようになります。

# 导入模块
from currency_converter import CurrencyConverter
from datetime import date
# 案例一
conv = CurrencyConverter()
c = conv.convert(100, 'USD', 'GBP')
print(round(c, 2)) # 保留两位小数

または、米ドルとユーロの間の為替レートを確認したい場合 100 米ドルとユーロの為替レート換算は次のとおりです。

# 案例二
c = conv.convert(100, 'USD', 'EUR', date=date(2022, 3, 30))
print(round(c, 2)) # 44.1

QR コードの生成

これには、QR コードの生成と QR コードの分析が含まれます。コードは次のとおりです。

import qrcode
from PIL import Image
from pyzbar.pyzbar import decode

def Generate_qrcode(data):
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,)
qr.add_data(data)
qr.make(fit=True)
image = qr.make_image(fill_color="black", back_color="white")
image.save("qrcode.png")

Generate_qrcode("Python爱好者集中营 欣一")

の分析を見てみましょう。 QR コード。コードは次のとおりです:

def Decode_Qrcode(file_name):
result = decode(Image.open(file_name))
print("Data:", result[0][0].decode())

Decode_Qrcode("文件名")

シンプルな Web アプリケーションを作成します

Python で flask モジュールを呼び出して Web アプリケーションを作成します。コードは次のとおりです:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def home():
return "Hello World!"

@app.route("/python")
def test():
return "欢迎来到Python爱好者集中营,欣一"

if __name__ == "__main__":
app.run(debug=True)

以上が半分の労力で 2 倍の結果を得る 10 個の超実践的な Python 自動化スクリプトを共有しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。