Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-03-2010, 18:27   #1
VirtualFlyer
Senior Member
 
L'Avatar di VirtualFlyer
 
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
 ...
insomma, una cosa molto semplice.
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
Il batch andrebbe a cancellare il .py e a rinominare il txt .py, così da avere il programma con l'eccezione definita dall'utente.
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 19:02.
VirtualFlyer è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2010, 20:28   #2
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da VirtualFlyer Guarda i messaggi
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
 ...
insomma, una cosa molto semplice.
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
Il batch andrebbe a cancellare il .py e a rinominare il txt .py, così da avere il programma con l'eccezione definita dall'utente.
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)
Ti do qualche suggerimento.

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:
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?
Non ho capito bene, scusa. Potresti essere più chiaro?
Quote:
Forse mi sto solo complicando la vita, ma mi diverto così!
L'importante è divertirsi: è così che si impara meglio, si fissano le cose in mente, e soprattutto si mantiene la voglia di continuare a programmare.
Quote:
P.S.
Mi consigliate qualche GUI per python che sia facile e che dia un risultato decente?
Mai usate, da quel che ho letto forse ti conviene usare le PyQT.
Quote:
P.P.S
Se non ho letto male, youtube è stato programmato in python,
Esatto: è realizzato quasi interamente in Python, da quanto dicono gli ingegneri che l'hanno realizzato.
Quote:
ma non servirebbe aver installato l'interprete allora?
Certamente.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2010, 14:09   #3
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
Prima cosa, non è

Codice:
elif prova = 'ciao'
ma

Codice:
elif prova == 'ciao'
Per quanto riguarda il file lo puoi benissimo aprire una volta sola, in modalità lettura e scrittura (attento che nella modalità scrittura ti cancella quello che hai già scritto, quindi aprilo nella modalità corretta), e poi usare tell() che ti dice in quale posizione del file sei e seek() che ti riporta ad una determinata posizione nel file. Oppure usare readlines() come ha detto cdimauro.

Quote:
Mi consigliate qualche GUI per python che sia facile e che dia un risultato decente?
Le PyQT sono le migliori.
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2010, 14:22   #4
VirtualFlyer
Senior Member
 
L'Avatar di VirtualFlyer
 
Iscritto dal: Oct 2009
Messaggi: 5001
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Ti do qualche suggerimento.

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.

Non ho capito bene, scusa. Potresti essere più chiaro?

L'importante è divertirsi: è così che si impara meglio, si fissano le cose in mente, e soprattutto si mantiene la voglia di continuare a programmare.

Mai usate, da quel che ho letto forse ti conviene usare le PyQT.

Esatto: è realizzato quasi interamente in Python, da quanto dicono gli ingegneri che l'hanno realizzato.

Certamente.
Grazie mille, comunque era un po' una stupidata e a ripensarci non era fattibile.

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
VirtualFlyer è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2010, 14:26   #5
VirtualFlyer
Senior Member
 
L'Avatar di VirtualFlyer
 
Iscritto dal: Oct 2009
Messaggi: 5001
Quote:
Originariamente inviato da Ryuzaki_Eru Guarda i messaggi
Prima cosa, non è

Codice:
elif prova = 'ciao'
ma

Codice:
elif prova == 'ciao'
Per quanto riguarda il file lo puoi benissimo aprire una volta sola, in modalità lettura e scrittura (attento che nella modalità scrittura ti cancella quello che hai già scritto, quindi aprilo nella modalità corretta), e poi usare tell() che ti dice in quale posizione del file sei e seek() che ti riporta ad una determinata posizione nel file. Oppure usare readlines() come ha detto cdimauro.



Le PyQT sono le migliori.
Sì, avevi ragione per ==, un errore sciocco!

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 14:29.
VirtualFlyer è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2010, 15:57   #6
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
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()
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2010, 16:06   #7
VirtualFlyer
Senior Member
 
L'Avatar di VirtualFlyer
 
Iscritto dal: Oct 2009
Messaggi: 5001
Quote:
Originariamente inviato da Ryuzaki_Eru Guarda i messaggi
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()
Grazie, per aprire il batch cosa posso usare?


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 18:02.
VirtualFlyer è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2010, 18:30   #8
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
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.
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2010, 19:07   #9
VirtualFlyer
Senior Member
 
L'Avatar di VirtualFlyer
 
Iscritto dal: Oct 2009
Messaggi: 5001
Quote:
Originariamente inviato da Ryuzaki_Eru Guarda i messaggi
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.
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
VirtualFlyer è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Nella capsula Orion di Artemis II ci sar...
L'immagine del mese del telescopio spazi...
Heatspreader originale al posto del wate...
Ubisoft ha definitivamente archiviato Wa...
Motivair by Schneider Electric presenta ...
Un dissipatore che non richiede energia ...
Con Maia 200 Microsoft alza l'asticella ...
La Cina impone requisiti anche per lo st...
Apple lancia AirTag aggiornato: range es...
Microsoft risolve i blocchi di Outlook: ...
OpenAI verso il disastro finanziario? L’...
X nei guai: l'UE indaga sui pericoli del...
Caso Corona-Signorini: il giudice blocca...
470 petaFLOPS con una frequenza di 56 GH...
WhatsApp: abbonamento per rimuovere la p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:06.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v