Problème CLI python

a.b -  
 a.b -
Bonjour,

Je suis en train de programmer une CLI. J'essaye par exemple de lancer ça sur main.py :
from filtre import noirblanc, dilatation, floue
import sys, os

arg = sys.argv
premier_arg = arg[1]


if premier_arg == "floue":
    dilatation.dilatation()


Ensuite sur la CLI j'essayer d'exécuter main.py et voilà le souci :

(venv) alfa@MacBook-Pro-de-Alpha python-filter-project % python main.py floue
Traceback (most recent call last):
File "main.py", line 1, in <module>
from filtre import noirblanc, dilatation, floue
File "/Users/alfa/Documents/L1-Dev/python/python-filter-project/filtre/noirblanc.py", line 18
chemin = f"{image}/{photo}"
^
SyntaxError: invalid syntax
(venv) alfa@MacBook-Pro-de-Alpha python-filter-project %

Voici le fichier qui contient la fonction appelé :
# Importation des bibliotheques
import cv2
import numpy
import os
import log


# Variable pour contenir le chemin au images
image = '../data/img'
# La variable "ficher" va contenir les elements du dossier "img"
element = os.listdir(image)


def dilatation():
    """
    Fonction qui transforme les images en dilates dans le repertoire "output"
    """
    try:
        for photo in element:
            chemin = f'{image}/{photo}'
            kernel = numpy.ones((5, 5), numpy.uint8)
            a_traiter = cv2.imread(chemin)
            img_dilatation = cv2.dilate(a_traiter, kernel, iterations=3)
            cv2.imwrite(f'../data/output/{photo}', img_dilatation)
            log.msg_filter(photo, 'dilate')
    except cv2.error as e:
        print(e)



Je fais des recherches mais je n'arrive pas à trouver la solution. Si c'est possiblee de m'aiguiller.
Je vous remercie :)

Configuration: Macintosh / Chrome 84.0.4147.105

2 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    bizarre, le message d'erreur inclut
    chemin = f"{image}/{photo}"
    , et le code que tu nous montres est
    chemin = f'{image}/{photo}'
    .
    de plus, les numéros de lignes ne correspondent pas.

    quelle version de python utilises-tu?
    import sys
    print("Python version")
    print ("Python version: ",sys.version)
    1
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      as-tu essayé
      chemin = image + "/" + photo
      0
    2. a.b
       
      Python 3.7 sur Mac
      0
    3. a.b > a.b
       
      peut-être que voilà :

      version python
      2.7.16 (default, Jun 5 2020, 22:59:21)
      [GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.29.20) (-macos10.15-objc-
      0
    4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      as-tu essayé?
      0
    5. a.b > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Oui, mais ça ne change rien, j'ai toujours le problème avec cv2
      0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    d'où vient le le fichier qui contient la fonction appelée?
    l'as-tu écrit toi-même?
    si tu veux réutiliser du code écrit par d'autres, je suggère d'utiliser une version plus récente de python.
    0
    1. a.b
       
      Le fichier en question est dans un package qui s'appelle "Filtre". J'aimerai bien que tu me dises comment mettre à jour exactement l'application s'il te plait. Parce que j'ai essayé mais pour l'instant rien.
      0