Je veux exécuter et distribuer un programme qui redimensionne les images Python3 + pyinstaller

Planification / Aperçu

--Je veux exécuter un programme python3 sur un PC qui n'a pas python3 ――Si vous utilisez le logiciel, c'est une phrase interdite (il est logique de l'écrire) --Il semble que vous puissiez en faire un exe en utilisant pyinstaller

environnement

Courir

Essayons-le maintenant. Entrez ce qui suit à l'invite de commande pour installer.

pip install pyinstaller

Programme pour être exe

Ce que j'ai écrit cette fois, c'est un programme pour redimensionner les images. Vous n'êtes pas obligé de le copier car vous écrivez quelque chose que vous pouvez faire en un instant avec un logiciel libre. Veuillez utiliser votre programme préféré.

resize.py


#! python3
# -*- coding: utf-8 -*-
from PIL import Image
import sys


print("Redimensionner l'image")

try:
    inp_img = str(input("Entrez le nom du fichier:"))
    filename = "picture/" + inp_img + ".jpg "
    img = Image.open(filename, "r")
except FileNotFoundError:
    print("[Erreur] Fichier introuvable!\n"
          "Mettez le fichier dans le dossier image")
    exit()

try:
    inp_a = int(input("Verticale:"))
    inp_b = int(input("côté:"))
except ValueError:
    print("[Erreur] Veuillez saisir un nombre demi-largeur")
    exit()

resize_img = img.resize((inp_a, inp_b))

# 2017/07/21
# .Je dois supprimer jpg'pic01.jpg_resize2.jpg'devenir de cette façon
filename = filename.replace(".jpg ", "")
filename = filename + "_resize2.jpg "

resize_img.save(filename, "JPEG", quality=100, optimize=True)
print("【résultat】: " + filename)

J'ai lu qu'il pouvait être redimensionné proprement en utilisant la vignette, alors je l'ai essayé, mais j'ai abandonné car il n'a pas été redimensionné à la taille spécifiée (voir le code en bonus). S'il s'agit de resize (), ce sera la taille spécifiée.

FileNotFoundError est une erreur lorsqu'un fichier est introuvable. L'erreur de valeur est une contre-mesure d'erreur lorsque vous entrez autre chose qu'un nombre.

Vous pouvez améliorer la qualité en augmentant le nombre de qualité.

Redimensionner l'image
Entrez le nom du fichier:pic01
Verticale:100
côté:200
【résultat】: picture/pic02_resize2.jpg
pip install pillow

Utilisons pyinstaller

Entrez ce qui suit à l'invite de commande.

pyinstaller.exe resize.py --onefile --clean

(* 1) Écrivez le nom du programme que vous souhaitez convertir en exe dans la partie resize.py. (* 2) Bien sûr, faites-le dans la hiérarchie où se trouve le programme spécifié.

Je pense que / dist est créé, alors double-cliquez sur l'exe. Puisque / dist / picture est requis dans resize.py, il est nécessaire de le créer à l'avance et d'insérer l'image. Je ne me souviens pas d'avoir écrit un processus tel que la création automatique d'un dossier.

D'ailleurs, si une erreur se produit, l'écran disparaît en un instant et le commentaire ne peut pas être lu. Je vais donc le réécrire un peu plus.

def end():
    while True:
        key = str(input("'e'Entrez pour sortir:"))
        try:
            if key == "e":
                sys.exit()
        except ValueError:
            break

Si vous réécrivez exit () du programme précédent pour end (), il ne se terminera pas tant que la touche e n'aura pas été saisie.

Réflexion

Je pensais que le programme pour être exe ne dépendait pas de l'invite de commande, mais l'interface graphique utilisant PyQt etc. est meilleure.

prime

Redimensionner le programme en utilisant la vignette. Si vous souhaitez redimensionner à une taille appropriée, utilisez la vignette, et si vous souhaitez redimensionner comme spécifié, utilisez redimensionner.

from PIL import Image

print("Redimensionner.Seul jpg est pris en charge.")
inp_img = str(input("Veuillez entrer uniquement le nom du fichier:"))
filename = "picture/" + inp_img + ".jpg "
img = Image.open(filename, 'r')

a = int(input("Verticale:"))
b = int(input("côté:"))

img.thumbnail((a, b), Image.ANTIALIAS)
img.save(filename+"_resize.jpg ", "JPEG", quality=100, optimize=True)

Matériel de référence

Recommended Posts

Je veux exécuter et distribuer un programme qui redimensionne les images Python3 + pyinstaller
J'ai créé un programme pour convertir des images en art ASCII avec Python et OpenCV
Je souhaite utiliser un caractère générique que je souhaite décortiquer avec Python remove
Je veux créer un environnement Python
Un programme python qui redimensionne une vidéo et la transforme en image
Je souhaite créer une application Web en utilisant React et Python flask
Je veux créer une fenêtre avec Python
Je veux faire un jeu avec Python
Je veux écrire dans un fichier avec Python
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
Le programme Python est lent! Je veux accélérer! Dans ce cas ...
Je souhaite intégrer une variable dans une chaîne Python
Je veux facilement implémenter le délai d'expiration en python
Je veux répéter plusieurs fois un générateur Python
Je veux générer rapidement UUID (memo memo) ~ Edition Python ~
Je veux écrire en Python! (2) Écrivons un test
Je veux échantillonner au hasard un fichier avec Python
Je veux travailler avec un robot en python.
[Python] Je veux faire d'une liste imbriquée un taple
Je veux faire fonctionner un ordinateur quantique avec Python
J'ai créé un programme en Python qui lit les données FX CSV et crée un grand nombre d'images de graphiques
[Mac] Je souhaite créer un serveur HTTP simple qui exécute CGI avec Python
J'ai écrit rapidement un programme pour étudier la DI avec Python ①
Je veux démarrer beaucoup de processus à partir de python
J'ai essayé "un programme qui supprime les déclarations en double en Python"
Un moyen standard de développer et de distribuer des packages en Python
Je souhaite envoyer un message de Python à LINE Bot
Je veux connaître la nature de Python et pip
Comment écrire une classe méta qui prend en charge à la fois python2 et python3
Je veux ajouter un joli complément à input () en python
Création d'un toolver qui crache le système d'exploitation, Python, les modules et les versions d'outils à Markdown
Un programme qui redimensionne automatiquement la taille d'image requise pour les icônes d'application iOS en Python
Je souhaite créer une source sonore de karaoké en séparant les instruments et les voix en utilisant Python
Je veux faire un changeur de voix en utilisant Python et SPTK en référence à un site célèbre
[Python] Un programme pour trouver le nombre de pommes et d'oranges qui peuvent être récoltées
Je veux gratter des images et les former
Je veux déboguer avec Python
Je souhaite enregistrer l'heure d'exécution et conserver un journal.
J'ai essayé de transformer un fichier Python en un EXE (erreur de récursivité prise en charge)
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
Vous ne voulez pas dire que vous avez créé un programme de reconnaissance faciale?
Je souhaite rechercher le texte intégral avec elasticsearch + python
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
Ecrire un programme qui abuse du programme et envoie 100 e-mails
Gratter et manger des bûches - je veux trouver un bon restaurant! ~ (Travail)
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
J'ai essayé de créer des taureaux et des vaches avec un programme shell
Je veux créer un fichier pip et le refléter dans le menu fixe
Un guide rapide de PyFlink qui combine Apache Flink et Python
[Python] Un programme qui fait pivoter le contenu de la liste vers la gauche
[Python] J'ai essayé de créer un programme simple qui fonctionne sur la ligne de commande en utilisant argparse
Je veux clarifier la question de la méthode "__init__" et de l'argument "self" de la classe Python.
Comment empaqueter et distribuer des scripts Python
[Python] Un programme qui crée des escaliers avec #
[Python] J'ai fait un décorateur qui ne semble pas avoir d'utilité.
Je veux imprimer dans la notation d'inclusion
J'ai fait un programme de gestion de la paie en Python!