Maison  >  Article  >  développement back-end  >  Cinq scripts Python intéressants

Cinq scripts Python intéressants

WBOY
WBOYavant
2023-04-12 09:10:041567parcourir

Python peut être utilisé dans de nombreuses directions, telles que les robots d'exploration, l'analyse prédictive, l'interface graphique, l'automatisation, le traitement d'image, la visualisation, etc. Vous n'aurez peut-être besoin que d'une douzaine de lignes de code pour réaliser des fonctions intéressantes.

Étant donné que Python est un langage de script dynamique, la logique du code est beaucoup plus simple que Java et il faut écrire beaucoup moins de code pour obtenir la même fonction. De plus, l'écosystème Python dispose de nombreuses bibliothèques d'outils tierces qui encapsulent des fonctions dans des packages. Il vous suffit d'appeler l'interface pour utiliser des fonctions complexes.

Voici quelques exemples de scripts simples et amusants. Les débutants peuvent suivre le code et maîtriser rapidement la syntaxe python.

1. Utilisez PIL, Matplotlib et Numpy pour réparer les vieilles photos floues

Cinq scripts Python intéressants

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import os.path

img_path = "E:\test.jpg"
img = Image.open(img_path)


img = np.asarray(img)
flat = img.flatten()


def get_histogram(image, bins):

histogram = np.zeros(bins)

for pixel in image:
histogram[pixel] += 1

return histogram


hist = get_histogram(flat, 256)


cs = np.cumsum(hist)


nj = (cs - cs.min()) * 255
N = cs.max() - cs.min()


cs = nj / N


cs = cs.astype('uint8')


img_new = cs[flat]


img_new = np.reshape(img_new, img.shape)


fig = plt.figure()
fig.set_figheight(15)
fig.set_figwidth(15)


fig.add_subplot(1, 2, 1)
plt.imshow(img, cmap='gray')
plt.title("Image 'Before' Contrast Adjustment")


fig.add_subplot(1, 2, 2)
plt.imshow(img_new, cmap='gray')
plt.title("Image 'After' Contrast Adjustment")
filename = os.path.basename(img_path)


plt.show()

2 Compressez les fichiers par lots et utilisez la bibliothèque de fichiers zip

import os
import zipfile
from random import randrange


def zip_dir(path, zip_handler):
for root, dirs, files in os.walk(path):
for file in files:
zip_handler.write(os.path.join(root, file))


if __name__ == '__main__':
to_zip = input("""
Enter the name of the folder you want to zip
(N.B.: The folder name should not contain blank spaces)
>
""")
to_zip = to_zip.strip() + "/"
zip_file_name = f'zip{randrange(0,10000)}.zip'
zip_file = zipfile.ZipFile(zip_file_name, 'w', zipfile.ZIP_DEFLATED)
zip_dir(to_zip, zip_file)
zip_file.close()
print(f'File Saved as {zip_file_name}')

3 Utilisez tkinter pour créer une calculatrice GUI

tkinter est fournie avec. Bibliothèque GUI python, adaptée aux débutants pour s'entraîner à la création de petits logiciels

import tkinter as tk

root = tk.Tk()
root.title("Standard Calculator")
root.resizable(0, 0)


e = tk.Entry(root,
 width=35,
 bg='#f0ffff',
 fg='black',
 borderwidth=5,
 justify='right',
 font='Calibri 15')
e.grid(row=0, column=0, columnspan=3, padx=12, pady=12)


def buttonClick(num):
temp = e.get(
)
e.delete(0, tk.END)
e.insert(0, temp + num)


def buttonClear():
e.delete(0, tk.END)

4 Convertir un PDF en fichier Word

Utilisez la bibliothèque pdf2docx pour convertir des fichiers PDF au format Word

Cinq scripts Python intéressants

from pdf2docx import Converter
import os 
import sys


pdf = input("Enter the path to your file: ")
assert os.path.exists(pdf), "File not found at, "+str(pdf)
f = open(pdf,'r+')


doc_name_choice = input("Do you want to give a custom name to your file ?(Y/N)")

if(doc_name_choice == 'Y' or doc_name_choice == 'y'):

doc_name = input("Enter the custom name : ")+".docx"

else:


pdf_name = os.path.basename(pdf)

doc_name =os.path.splitext(pdf_name)[0] + ".docx"



cv = Converter(pdf)


path = os.path.dirname(pdf)

cv.convert(os.path.join(path, "", doc_name) , start=0, end=None)
print("Word doc created!")
cv.close()

5.

Les bibliothèques smtplib et email peuvent implémenter des scripts pour envoyer des emails.

Cinq scripts Python intéressants

import smtplib
import email

from email.mime.text import MIMEText

from email.mime.image import MIMEImage

from email.mime.multipart import MIMEMultipart
from email.header import Header


mail_host = "smtp.163.com"

mail_sender = "******@163.com"

mail_license = "********"

mail_receivers = ["******@qq.com","******@outlook.com"]

mm = MIMEMultipart('related')


subject_content = """Python邮件测试"""

mm["From"] = "sender_name<******@163.com>"

mm["To"] = "receiver_1_name<******@qq.com>,receiver_2_name<******@outlook.com>"

mm["Subject"] = Header(subject_content,'utf-8')


body_content = """你好,这是一个测试邮件!"""

message_text = MIMEText(body_content,"plain","utf-8")

mm.attach(message_text)


image_data = open('a.jpg','rb')

message_image = MIMEImage(image_data.read())

image_data.close()

mm.attach(message_image)


atta = MIMEText(open('sample.xlsx', 'rb').read(), 'base64', 'utf-8')

atta["Content-Disposition"] = 'attachment; filename="sample.xlsx"'

mm.attach(atta)


stp = smtplib.SMTP()

stp.connect(mail_host, 25)

stp.set_debuglevel(1)

stp.login(mail_sender,mail_license)

stp.sendmail(mail_sender, mail_receivers, mm.as_string())
print("邮件发送成功")

stp.quit()

Résumé

Python propose également de nombreux petits scripts amusants, que vous pouvez écrire selon vos propres scénarios, ou vous pouvez utiliser des bibliothèques tierces prêtes à l'emploi.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer