|
|
|
|
Strumenti |
23-03-2010, 17:27 | #1 |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 5001
|
[Python]Cambiare il codice dall'interno
Sto scrivendo un programma che fa determinate cose in base all'input che gli viene inserito, una cosa tipo:
Codice:
prova = raw_input ('scrivi qui il comando: ') if prova == '1': fai qualcosa elif prova == '2': fai qualcos'altro ... Ora avrei bisogno che se l'operatore scrivesse tipo 'ciao' succedesse una cosa tipo: Codice:
elif prova = 'ciao' print 'Sistema di eccezioni' eccezione = raw_input ('Scrivi il testo che vuoi che sia digitato affinchè il risultato sia 4') # poi dovrebbe aprire un file di testo #trovare una riga che inizia con # #andare alla riga prima # scrivere qualcosa tipo: elif prova == eccezione print 4 #aprire un piccolo batch #chiudersi credo che potrei arrivare fino ad aprire il file e a trovare la riga con #, ma poi come faccio a dirgli in che riga scrivere? (tra l'altro, ripensandoci, credo che dovrei aprirlo due volte. una in lettura per trovare # e un'altra in scrittura) Un'altra ipotesi si potrebbe fare, sapendo già cosa fare in caso di eccezione, scrivere gli input per cui vale l'eccezione e farli leggere dal programma senza dover usare anche il batch? Forse mi sto solo complicando la vita, ma mi diverto così! P.S. Mi consigliate qualche GUI per python che sia facile e che dia un risultato decente? P.P.S Se non ho letto male, youtube è stato programmato in python, ma non servirebbe aver installato l'interprete allora?
__________________
L'italiano è una lingua stupenda. Non killiamola. Craftare nuove parole non serve
[HWU]Virtula - Lenovo Y580: i7 3630QM - Nvidia GTX660M - 8GB - SSD 256 + 750 - 15" FHD + Leap Motion Ultima modifica di VirtualFlyer : 23-03-2010 alle 18:02. |
23-03-2010, 19:28 | #2 | ||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Quote:
Converrebbe leggere tutte le righe del file in una lista, e individuare la posizione col #. A questo punto inserire una o più righe in quella posizione diventa banale. Quote:
Quote:
Quote:
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||
24-03-2010, 13:09 | #3 | |
Senior Member
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4125
|
Prima cosa, non è
Codice:
elif prova = 'ciao' Codice:
elif prova == 'ciao' Quote:
|
|
24-03-2010, 13:22 | #4 | |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 5001
|
Quote:
So che per te può essere banale, ma mi puoi dire i comandi per favore? Per youtube, come fa allora a funzionare anche su computer senza interprete?
__________________
L'italiano è una lingua stupenda. Non killiamola. Craftare nuove parole non serve
[HWU]Virtula - Lenovo Y580: i7 3630QM - Nvidia GTX660M - 8GB - SSD 256 + 750 - 15" FHD + Leap Motion |
|
24-03-2010, 13:26 | #5 | |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 5001
|
Quote:
mi potreste fare un esempio di codice? Ultima cosa: mi sapreste consigliare qualche tutorial sulle PyQT? EDIT: finora ho trovato questo http://zetcode.com/tutorials/pyqt4/
__________________
L'italiano è una lingua stupenda. Non killiamola. Craftare nuove parole non serve
[HWU]Virtula - Lenovo Y580: i7 3630QM - Nvidia GTX660M - 8GB - SSD 256 + 750 - 15" FHD + Leap Motion Ultima modifica di VirtualFlyer : 24-03-2010 alle 13:29. |
|
24-03-2010, 14:57 | #6 |
Senior Member
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4125
|
YouTube gira sul tuo pc? No, quindi a te non interessa avere un interprete.
Per le PyQt il miglior libro è "Rapid GUI Development With Python and Qt". Per il tuo problema basta che guardi la documentazione, se non ti abitui non imparerai mai. Ti faccio un altro esempio (non l'ho provato): Codice:
entrata = open("leggo.txt", 'r') uscita = open("scrivo.txt", 'w') for p,l in enumerate(entrata): if l[0] == '#': # qua scrivi quello che devi uscita.write(l) entrata.close() uscita.close() |
24-03-2010, 15:06 | #7 | |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 5001
|
Quote:
Edit: Ho provato ad installare le pyqt4: Ho scaricato il qtsdk, sip e le pyqt4 Ora ho copiato la cartella di sip ed ho aperto configure.py e i 4 o 5 file python che ne sono derivati. Poi ho provato ad aprire il file configure.py di qtpy4, ma ha dato errore perchè non esiste alcun modulo chiamato sipconfig In un lampo di genio ho capito che questo modulo deve essere in qualche modo connesso all'interprete, ma mi potreste spiegare come si fa? Grazie mille in anticipo
__________________
L'italiano è una lingua stupenda. Non killiamola. Craftare nuove parole non serve
[HWU]Virtula - Lenovo Y580: i7 3630QM - Nvidia GTX660M - 8GB - SSD 256 + 750 - 15" FHD + Leap Motion Ultima modifica di VirtualFlyer : 24-03-2010 alle 17:02. |
|
24-03-2010, 17:30 | #8 |
Senior Member
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4125
|
Non ho capito nulla, in ogni caso se sei su Windows ci sono gli exe pronti, se sei su linux ci sono i pacchetti già pronti da installare. Tutto sto casino non serve. Per aprire il batch usi os.system.
|
24-03-2010, 18:07 | #9 |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 5001
|
Chiedo scusa, sono stato molto stupido. Hai perfettamente ragione ho fatto solo un casino inutile.
__________________
L'italiano è una lingua stupenda. Non killiamola. Craftare nuove parole non serve
[HWU]Virtula - Lenovo Y580: i7 3630QM - Nvidia GTX660M - 8GB - SSD 256 + 750 - 15" FHD + Leap Motion |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:22.