Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [Python] Problemi con import

    ciao!

    in un mio progetto, creato con pycharm, ho creato un package con dentro due file:
    - main.py
    - resizeimage.py

    nel secondo file c'è questo:
    codice:
    import glob, os 
    from PIL import Image 
     
    class ResizeImage: 
        def resize(self, dirFrom, dirTo, w, h): 
            if os.path.isdir(dirFrom) and os.path.isdir(dirTo) and dirFrom.endswith('/') and dirTo.endswith('/'): 
                if w > h: 
                    h = w + 1 
                elif h > w: 
                    w = h + 1 
     
                size = (w, h) 
     
                extensions = ["*.png", "*.jpeg", "*.jpg"] 
                allFiles = [glob.glob(dirFrom + ext) for ext in extensions] 
                lista = [elem for sublista in allFiles for elem in sublista] 
                for infile in lista: 
                    try: 
                        file, ext = os.path.splitext(infile) 
                        name = os.path.basename(file) 
                        im = Image.open(infile) 
                        im.thumbnail(size, Image.ANTIALIAS) 
                        im.save(dirTo + name + ext) 
                        print(dirTo + name + ext) 
                    except IOError as e: 
                        print(e) 
            else: 
                print("La directory iniziale o finale non esiste, o non finiscono con /")
    nel primo questo:
    codice:
    import argparse 
     
    from resize.resizeimage import ResizeImage 
     
    if __name__ == "__main__": 
        parser = argparse.ArgumentParser() 
        parser.add_argument('dirFrom', help='Path che contiene le immagini, con / finale', type=str) 
        parser.add_argument('dirTo', help='Path dove salvare le immagini, con / finale', type=str) 
        parser.add_argument('w', help='Larghezza di ridimensionamento', type=int) 
        parser.add_argument('h', help='Altezza di ridimensionamento', type=int) 
        args = parser.parse_args() 
        ri = ResizeImage() 
        ri.resize(args.dirFrom, args.dirTo, args.w, args.h)
    quando lancio main.py, ottengo sempre questo errore:
    codice:
    $ python main.py 'a' 'b' 100 20
    Traceback (most recent call last):
      File "main.py", line 3, in <module>
        from resize.resizeimage import ResizeImage
    ModuleNotFoundError: No module named 'resize'
    non riesco a capire il motivo!!

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    resize.resizeimage credo sia sbagliato, prova solo con resizeimage

    hai messo un file __init__.py nella cartella?

  3. #3
    Be', è normale... il tuo file si chiama resizeimage.py e sta allo stesso livello di main.py, quindi l'import dovrà essere
    codice:
    from resizeimage import ResizeImage
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Be', è normale... il tuo file si chiama resizeimage.py e sta allo stesso livello di main.py, quindi l'import dovrà essere
    codice:
    from resizeimage import ResizeImage
    si, come uno scemo mi sono fatto ingannare dal fatto che pycharm me la sottolinea in rosso, come se ci fosse un errore.
    però lanciando lo script, funziona.
    bho!

  5. #5
    Probabilmente PyCharm per qualche motivo pensa che la root del progetto sia un livello sopra?
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Probabilmente PyCharm per qualche motivo pensa che la root del progetto sia un livello sopra?
    domani appena arrivo in ufficio controllo se c'è qualche impostazione al riguardo!!

  7. #7
    ok, ho settato resize come Source root, e pycharm non mi segnala più errore.
    era quello il "problema".

    grazie!!

  8. #8
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.