Feuille de triche Python

Extraits de code Python fréquemment utilisés

Sommaire

Parfois, j’ai besoin de cela mais je ne le trouve pas immédiatement.
Donc, je les garde toutes ici.

Ce ne sont pas de nouvelles choses,
juste un tas de copies-collés,
mais elles fonctionnent pour moi,
et j’espère qu’elles pourront vous être utiles également.

Awesome Python in 3d

Commandes courantes d’Anaconda

Vérifier si Conda est installé

conda -V

Vérifier si Conda est à jour

conda update conda

Créer un environnement virtuel

conda create -n newenvname python=3.12 anaconda

Activer votre environnement virtuel

source activate newenvname

Installer des packages Python supplémentaires dans un environnement virtuel

conda install -n newenvname [package]

Désactiver votre environnement virtuel

source deactivate

Supprimer l’environnement virtuel

conda remove -n newenvname --all

Dépendances du programme

Installer des dépendances - En utilisant un fichier de dépendances

Au lieu d’installer les packages individuellement, pip vous permet de déclarer toutes les dépendances dans un Fichier de Dépendances. Par exemple, vous pourriez créer un fichier requirements.txt contenant :

requests==2.18.4
google-auth==1.1.0

Et indiquer à pip d’installer tous les packages de ce fichier en utilisant l’indicateur -r :

python3 -m pip install -r requirements.txt

Geler les dépendances

Pip peut exporter une liste de tous les packages installés et leurs versions à l’aide de la commande freeze :

python3 -m pip freeze

produira quelque chose comme :

requests==2.18.4
google-auth==1.1.0

La commande pip freeze est utile pour créer des Fichiers de Dépendances qui peuvent recréer exactement les versions de tous les packages installés dans un environnement.

Dessiner un rectangle

import cv2

cv2.rectangle(img, (x1, y1), (x2, y2), color=(255,0,0), thickness=2)

x1,y1 ------
|          |
|          |
|          |
--------x2,y2

pour ajouter les questions suivantes :

cv2.imwrite("my.png",img)

cv2.imshow("lalala", img)
k = cv2.waitKey(0) # 0==attendre indéfiniment

J’ai un objet Image de PIL et je veux dessiner un rectangle sur cette image. Je veux utiliser opencv2 pour dessiner un rectangle, puis convertir l’image de nouveau en objet Image de PIL. Voici comment je le fais :

# im est un objet Image de PIL
im_arr = np.asarray(im)
# convertir le tableau rgb en format bgr d'opencv
im_arr_bgr = cv2.cvtColor(im_arr, cv2.COLOR_RGB2BGR)
# pts1 et pts2 sont les coordonnées du coin supérieur gauche et du coin inférieur droit du rectangle
cv2.rectangle(im_arr_bgr, pts1, pts2,
              color=(0, 255, 0), thickness=3)
im_arr = cv2.cvtColor(im_arr_bgr, cv2.COLOR_BGR2RGB)
# convertir à nouveau en objet Image
im = Image.fromarray(im_arr)

Parsing d’arguments simple

import json

#---------------------------------------------------------------------------
def do_some_awesomeness(src_file, tgt_file):
    print('Conversion de certaines choses de {} à {}'.format(src_file, tgt_file))

#---------------------------------------------------------------------------
def run():
    import argparse

    parser = argparse.ArgumentParser(description="Un outil python très utile et efficace.")
    parser.add_argument("-s", "--src", dest="src_file",
        help="nom du fichier json d'entrée")
    parser.add_argument("-t", "--tgt", dest="tgt_file",
        help="nom du fichier json de sortie")
    
    args = parser.parse_args()

    do_some_awesomeness(args.src_file, args.tgt_file)

if __name__ == '__main__':
    run()

Puis l’appeler comme suit :

python ave_roma.py --src 1.json --tgt 2.json

Charger et sauvegarder du JSON

import json

def do_convert(src_file, tgt_file):

    with open(src_file) as f:
        src = json.load(f)

    tgt = src # :)

    with open(tgt_file, 'w', encoding='utf-8') as f:
        json.dump(tgt, f, ensure_ascii=False, indent=4)

Obtenir le nom du fichier sans extension

import os

print(os.path.splitext("/path/to/some/file.txt")[0])

affichera :

/path/to/some/file

Liens utiles