Autore Topic: [Risolto] Uscire fuori dal seminato?  (Letto 8026 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Uscire fuori dal seminato?
« Risposta #30 il: 16 Febbraio 2014, 22:34:25 »
Ho dovuto lasciare, per ora, l'utilizzo della GUI, per il semplice fatto, che va studiata in profondità ed il tempo stringe. Ho deciso perciò di completare il mio progettino sfruttando il terminale a riga di comando. Lì mi muovo ormai abbastanza bene e procedo in maniera meno lenta. Ho già completato la scrittura di 2 delle 14 classi che compongono tutto il progetto. Di esse però le essenziali sono 8. Ho anche fatto una prova di esecuzione in un pc, con Windows installato, ottenendo come prima volta un risultato accettabile. ;D

Ciao a tutti.
:ciao:

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Uscire fuori dal seminato?
« Risposta #31 il: 19 Febbraio 2014, 15:18:55 »
Ogni linguaggio diventa una corsa ad ostacoli, o forse sarebbe meglio dire "una co...lla ad ostacoli"  :hatecomputer:;   si perchè oltre le naturali difficoltà del linguaggio che già frenano di suo, specialmente per un neofita, si frappongono anche le mancanze di compatibilità degli strumenti disponibili coi SO. ospiti.
Detto così sembra uno sfogo, ma in realtà i giorni trascorrono infruttuosi ed il sistema nervoso va sempre più su di giri  >:(.
Visto che il mio primo programma Python dovrà girare sia su Linux.Ubuntu che su Windopws, ho pensato di creare i file.txt, riservati al trattamento dei dati relativi, in una directory, figlio della directory User Home, rilevando il percorso di quest'ultima con la seguente funzione Python:
Codice: [Seleziona]
dir_base = os.getenv('HOME')
In Ubuntu: Nessun problema.
In Windows7 la variabile dir_base viene valorizzata con None, cioè "NULL". Dopo di chè, il programma va in errore. Sono tre giorni che mi accanisco su questo ... problema, senza riuscre a cavarne un ragno dal buco.

La differenza con qualsiasi ambiente Linux è che in Windows manca il login dell'utente correntemente attivo. Ciò probabilmente manda a pallino la funzione "os.getenv". Sarebbe quantomeno accettabile sapere quali directory sono presenti in "C:\", in modo da potere costruire successivamente il percorso corretto.
Chi mi può aiutare?
 :ciao:
:ciao:

Offline pastrank

  • Maestro Gambero
  • ****
  • Post: 266
    • Mostra profilo
Re: Uscire fuori dal seminato?
« Risposta #32 il: 20 Febbraio 2014, 00:46:30 »
Qui http://python.6.x6.nabble.com/How-to-get-user-home-directory-on-Windows-td1325228.html mi pare ci siano le risposte a tutto quello che potresti chiedere, tipo la storia delle variabili da leggere sotto Windows... comunque, anche su Stackoverflow ci sono tanti esempi, qualcosa ci trovi sicuramente.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Uscire fuori dal seminato?
« Risposta #33 il: 20 Febbraio 2014, 15:23:05 »
@ pastrank:

Ti ringrazio per l'interessamento. Ho già guardato in giro ed ho trovato già delle problematiche che posso assumere solamente linee guida. Oggi ho approfondito lo studio e sono arrivato ad una conclusione: La gestione delle directory Windows è diversa da quelle Linux, e questo lo sappiamo. Proprio per questo, dopo avere interrogato il SO., potrò organizzare in un certo albero di directory per Windows, diversamente di quanto non faccia per Linux.
Per il resto il programma gira benissimo in entrambi i SO.
 :ciao:
:ciao:

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Uscire fuori dal seminato?
« Risposta #34 il: 28 Febbraio 2014, 17:26:00 »
Beh! É  passato un pò di tempo dall'apertura di questa discussione e credo che ormai valga la pena di chiuderla. :)
Dalla sua apertura sono trascorsi quasi 5 mesi e, con tutte le notizie che ho saputo raccogliere, le prove fatte e la modesta esperienza acquisita, mi sento di fare alcune considerazioni: Il linguaggio di base si appoggia sulla struttura a riga di comando ed a me, tutto sommato, è sembrato non difficile da capire ed utilizzare. Trovo però lo snellimento che è stato delineato per le strutture delle istruzioni "if, for, while", con l'eliminazione delle istruzioni di chiusura dei rispettivi cicli di controllo, come "endif, next, wend", rende la fase di scrittura più lenta e farraginosa. Ciò è determinato dalla necessita di mantenere sempre alto il livello di concentrazione nel processo di indentazione, interno a cicli suddetti. La difficoltà di stesura aumenta notevolmente quando occorre modificare il contenuto di cicli "if, for, while" quando bisogna aggiungere o togliere istruzioni, nella fase di test ed aggiustamento o di revisione del programma. Ho incontrato anche difficoltà a mettere in debug il programma, sia per assegnare punti di interruzione, sia per rilevare il contenuto delle variabili sotto test. La gestione si complica ancora di più quando poi si voglia fare sposare al programma un'interfaccia grafica per dargli una veste degna del periodo sociale corrente, in cui qualsiasi espressione viene trasmessa sotto forma di immagine. Ho cominciato, nel mese di dicembre, a mettere in pratica l'uso di Tkinter per aggiungere la GUI al mio programma, ma ho trovato molto impegnativo il lavoro di progettazione di una form e particolarmente ostico quello di disegnare una semplice coppia di oggetti, come un'etichetta e la relativa Textbox, tanto per fare un esempio. Ho dovuto perciò, per non allungare di tantissimo il tempo di totale scrittura del programma corrente, rinunziare alla GUI e continuare la scrittura in python base. Ha però un grande vantaggio: il mio programma, che lavora solo in locale, ha funzionato sia in ambiente Linux che in ambiente windows quasi subito. Il "quasi subito" è dovuto al fatto che ho dovuto imparare come riconoscere la differenza di riconoscimento delle directory dei due SO., però, una volta capito come fare, è bastato che copiassi il mio codice sorgente nella cartella prescelta dell'altro SO ed avviassi sotto l'interprete python il programma, per vederlo funzionare con soddisfazione. Ciò vale naturalmente per oggni nuova versione del programma. Altro grandissimo vantaggio è costituito dalla stragrande disponibilità di documentazione. Ho potuto infatti costruire il mio primo programma, ancora non tutto finito, senza avere praticamente bisogno di chiedere aiuto dopo la fase di primo approccio col nuovo strumento.
Conclusione?

Peccato che Gambas giri solamente sotto Linux.  ;D

 :ciao:  :ciao:
:ciao: