Cinq scripts Python intéressants

WBOY
Libérer: 2023-04-12 09:10:04
avant
1609 Les gens l'ont consulté

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()
Copier après la connexion

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}')
Copier après la connexion

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)
Copier après la connexion

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()
Copier après la connexion

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()
Copier après la connexion

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!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!