Forum
>>
Principianti
>>
Moduli in cartelle diverse
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da vitolipari |
2016-10-05 00:18:46 - Moduli in cartelle diverse
|
Salve a tutti,
mi trovo in una situazione del genere: /python apps/ testScript.py calcoloDellaX.py frameworks/ mieClassi/ Point3d.py Shape.py altroFramework/ xXx.py nonostante abbia smanettato un pò col file __init__.py dalle mie applicazioni non riesco mai ad accedere alla classi delle cartelle sotto frameworks. Come posso fare per risolvere questo piccolo problema? --- Ultima modifica di vitolipari in data 2016-10-05 01:42:42 --- |
|
Scritto da Daniele aka Palmux |
2016-10-05 10:48:26 - Re: Moduli in cartelle diverse
|
Ma esattamente che problema hai? Non riesci ad accedere nemmeno col percorso assoluto? Sicuro non sia altro, ad esempio un problema di permessi?
Comunque riporta il codice e l'errore che ti viene restituito così capisco un po' meglio. Cya |
|
Scritto da vitolipari |
2016-10-06 11:25:33 - Re: Moduli in cartelle diverse
|
Ho scritto una semplice classe per la visualizzazione di una semplice progressBar, e un piccolo script che ne fa uso.
La classe sta in una cartella diversa dallo script che la usa, l'editor stesso mi da errore su self. codice della classe in ~/frameworks/util/SimpleProgressBar.py #!/usr/bin/env python import sys class SimpleBar: def __init__(self, border = False, startBorderChar = '', endBorderChar = ''): self.part = '|' self.voidPart = ' ' self.fullPart = 100 self.current = 0 self.borders = border self.startBorderChar = startBorderChar self.endBorderChar = endBorderChar def update( self, p ): self.current = int( p * 100 ) if self.current > 100 : self.current = 100 for i in range( self.current ): sys.stdout.write('\r') if self.borders and self.startBorderChar is None : sys.stdout.write('[') if self.borders and self.startBorderChar is not None : sys.stdout.write(str(self.startBorderChar)) sys.stdout.write( self.part * i ) sys.stdout.write( (self.fullPart - i) * self.voidPart ) if self.borders and self.endBorderChar is None : sys.stdout.write('] ') if self.borders and self.endBorderChar is not None : sys.stdout.write(str(self.endBorderChar) + ' ') sys.stdout.write(str(self.current) ) sys.stdout.flush() if self.current == 100 and i == ( self.current -1 ): print(' ') questo il codice dello script che ne fa uso in ~/app/TestSimpleProgressBar/testSimpleProgressBar.py #!/usr/bin/env python import time import random import sys # ERROR da Aggiustare from frameworks.util import SimpleProgressBar bar = 0 if len(sys.argv) > 1 : if sys.argv1 == '--border' : startBorder = None endBorder = None if( len(sys.argv) > 2 ) : startBorder = sys.argv2 if( len(sys.argv) > 3 ) : endBorder = sys.argv3 bar = SimpleProgressBar.SimpleBar( True, startBorder, endBorder ) if not type(bar) is SimpleProgressBar.SimpleBar : bar = SimpleProgressBar.SimpleBar() progress = 0.0 while progress < 1: progress += (random.random() / 2) progress *= 1000 progress = int(progress) progress /= 1000 bar.update( progress ) time.sleep(0.5) print(' ') Se la classe e lo script che la usa, si trovano nella stessa cartella il problema non si verifica! --- Ultima modifica di vitolipari in data 2016-10-06 11:36:33 --- --- Ultima modifica di vitolipari in data 2016-10-06 11:38:18 --- --- Ultima modifica di vitolipari in data 2016-10-06 12:05:26 --- |
|
Scritto da Orsogrizzly |
2016-10-06 20:25:02 - Re: Moduli in cartelle diverse
|
Ora non ho la possibilità di fare una verifica, ma credo che l'errore
Derivi dal fatto che sull'import di chi deve usare la classe NON usi il percorso assuluto |
Pagina: 1
Esegui il login per scrivere una risposta.