Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
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


OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
NVIDIA festeggia 25 anni in Corea: RTX 5...
Lucca Comics 2025: dal Giappone alla Fra...
Agli italiani non piace la fibra: costi ...
SK hynix: HBM, DRAM e NAND completamente...
Ring porta in Italia videocamere e video...
Windows 11 e 10: finalmente risolto il p...
TEE.fail è l'attacco che scardina...
Cameo fa causa a OpenAI: il nome del nos...
HyperOS 3 arriva anche su Xiaomi 15: int...
Telegram, Pavel Durov lancia Cocoon: l’i...
Dai suicidi ai nuovi limiti: Character.A...
Offerte Amazon per potenziare il PC: sup...
Toyota trasforma la sua auto più ...
Addio agli errori di Windows Update: l'u...
Nessuno vuole comprare iRobot: cosa succ...
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: 14:23.


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