Discussione:
[Python] IPython, copiare negli appunti.
unknown
2013-05-08 10:56:00 UTC
Permalink
Buongiorno a tutti.

Riferimenti:
IPython 0.13.2
Python 2.7.4
WindowsXP

Sto famigliarizzando con questo interprete avanzato ed inizio ad apprezzarne le potenzialità.
Una cosa che non ho ancora trovato e che mi sarebbe utile è: come copiare negli appunti l'output?

Ho visto la funzione

%save [options] n1-n2 ... n....

Per salvare righe di Output in un file di testo ma sicuramente esisterà una funziona che mi permette di copiare tali elementi del
dict Out{}, direttamente negli appunti. C'è?

Grazie.
GB.
unknown
2013-05-08 11:53:00 UTC
Permalink
Prova questo: http://stackoverflow.com/a/4203897/36131

2013/5/8 Gabriel Battaglia (Kriyaban) <iz4apu a libero.it>
Post by unknown
Buongiorno a tutti.
IPython 0.13.2
Python 2.7.4
WindowsXP
Sto famigliarizzando con questo interprete avanzato ed inizio ad
apprezzarne le potenzialità.
Una cosa che non ho ancora trovato e che mi sarebbe utile è: come copiare
negli appunti l'output?
Ho visto la funzione
%save [options] n1-n2 ... n....
Per salvare righe di Output in un file di testo ma sicuramente esisterà
una funziona che mi permette di copiare tali elementi del dict Out{},
direttamente negli appunti. C'è?
Grazie.
GB.
______________________________**_________________
Python mailing list
Python a lists.python.it
http://lists.python.it/**mailman/listinfo/python<http://lists.python.it/mailman/listinfo/python>
--
Andrea Francia http://andreafrancia.it
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130508/819e22b0/attachment.html>
unknown
2013-05-08 13:02:09 UTC
Permalink
From: "Andrea Francia" <andrea a andreafrancia.it>
Post by unknown
Prova questo: http://stackoverflow.com/a/4203897/36131
Ciao Andrea. Interessante, però non è il mio caso.
Ciò che cerco è più semplice.

1. Lancio ipython
2. al prompt, provo del codice;
3. viene sollevata una eccezione:
Out [n] QualcosaError:....
..........
........

Io vorrei copiare negli appunti quell'errore, contenuto in Out [n], per poi magari copiarlo qui e chiedere aiuto o spiegazioni.
In altre parole mi servirebbe catturare l'output dell'interprete di ipython, negli appunti.

Ho provato a selezionare il testo come normalmente faccio in un editor, cioè tenendo premuto shift e muovendomi con le frecce
verticali, per poi copiare la selezione con ctrl+c ma nella shell di ipython, questo non funziona.

Grazie per avermi letto e, se non mi sono spiegato bene, chiedi/ete pure che provo con parole diverse.

G.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130508/57f668b3/attachment.html>
unknown
2013-05-08 13:05:34 UTC
Permalink
2013/5/8 Gabriel Battaglia (Kriyaban) <iz4apu a libero.it>
Post by unknown
**
Ho provato a selezionare il testo come normalmente faccio in un editor,
cioè tenendo premuto shift e muovendomi con le frecce verticali, per poi
copiare la selezione con ctrl+c ma nella shell di ipython, questo non
funziona.
Hai provato anche con CTRL + INS ?

Ciao.
Marco.
--
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130508/7c22338b/attachment.html>
unknown
2013-05-08 13:46:09 UTC
Permalink
2013/5/8 Gabriel Battaglia (Kriyaban) <iz4apu a libero.it>
Post by unknown
**
Ho provato a selezionare il testo come normalmente faccio in un editor,
cioè tenendo premuto shift e muovendomi con le frecce verticali, per poi
copiare la selezione con ctrl+c ma nella shell di ipython, questo non
funziona.
Marco Beri:
Hai provato anche con CTRL + INS ?

Gb:
Non fa nulla, Mentre ctrl+c esegue un KeyboardInterrupt.
Penso ci sia una funzione apposita di iPython perchè "esportare" l'output dall'interprete è, o dovrebbe essere una funzione
basilare.
Tuttavia, non è fondamentale per me, la troverò! Grazie comunque.
G.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130508/18d29e20/attachment.html>
unknown
2013-05-08 14:09:38 UTC
Permalink
Il giorno 08 maggio 2013 15:46, Gabriel Battaglia (Kriyaban) <
Post by unknown
**
2013/5/8 Gabriel Battaglia (Kriyaban) <iz4apu a libero.it
Hai provato anche con CTRL + INS ?
Non fa nulla, Mentre ctrl+c esegue un KeyboardInterrupt.
Da me funziona <ctrl><ins> per copiare e <shift><ins> per incollare.
(Debian-KDE).

Ciao
--
Daniele

www.fugamatematica.blogspot.com

giusto!
nel verso
forse è perché non guardiamo le cose
Quando non ci capiamo,
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130508/5cb1ed99/attachment.html>
unknown
2013-05-08 15:06:43 UTC
Permalink
Il 08 maggio 2013 16:09, Daniele Zambelli <daniele.zambelli a gmail.com>
Post by unknown
Da me funziona <ctrl><ins> per copiare e <shift><ins> per incollare.
(Debian-KDE).
hai detto poco... a noi basta selezionare con il mouse, e incollare
premendo la rotella, senza neppure usare la tastiera.

--
Gollum1
Tesssssoro, dov'é il mio tessssoro...
unknown
2013-05-08 15:18:23 UTC
Permalink
Post by unknown
Il 08 maggio 2013 16:09, Daniele Zambelli <daniele.zambelli a gmail.com>
Post by unknown
Da me funziona <ctrl><ins> per copiare e <shift><ins> per incollare.
(Debian-KDE).
hai detto poco... a noi basta selezionare con il mouse, e incollare
premendo la rotella, senza neppure usare la tastiera.
E secondo te in che modo si fa prima?


Ciao Manlio
unknown
2013-05-08 15:25:39 UTC
Permalink
Post by unknown
E secondo te in che modo si fa prima?
dipende da cosa stai usando naturalmente, io avvio l'interprete python
dentro konsole, posso usare <ctrl-shift-c> per copiare e
<ctrl-shift-v> per incollare, ma per fare la selezione, l'unica che ho
visto è farla attraverso il mouse (a questo punto incollo con il tasto
centrale, visto che già lo sto usando per selezionare, poi per passare
nel client di posta/chromium).

altri modi per fare la selezione, da tastiera, non ne ho trovati.


--
Gollum1
Tesssssoro, dov'é il mio tessssoro...
unknown
2013-05-08 15:27:22 UTC
Permalink
Il giorno 08 maggio 2013 17:18, Manlio Perillo
Post by unknown
Post by unknown
hai detto poco... a noi basta selezionare con il mouse, e incollare
premendo la rotella, senza neppure usare la tastiera.
E secondo te in che modo si fa prima?
Se devo usare il mouse per selezionare, a quel punto, senza lasciarlo, lo
punto dove voglio inserire la selezione e clicco con il centrale.

Ma qui il problema è selezionare una parte della console di Ipython senza
usare il mouse.

Ciao
--
Daniele

www.fugamatematica.blogspot.com

giusto!
nel verso
forse è perché non guardiamo le cose
Quando non ci capiamo,
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130508/b2e49893/attachment.html>
unknown
2013-05-08 15:38:08 UTC
Permalink
Il 08 maggio 2013 17:27, Daniele Zambelli <daniele.zambelli a gmail.com>
Post by unknown
Se devo usare il mouse per selezionare, a quel punto, senza lasciarlo, lo
punto dove voglio inserire la selezione e clicco con il centrale.
Ma qui il problema è selezionare una parte della console di Ipython senza
usare il mouse.
Vedi che c'é sempre da imparare?

non conoscevo neppure l'esistenza di ipython, io ho sempre lanciato
l'interprete in konsole, e fatto le mie prove da li...
l'autocompletamento di ipython è interessante, parecchio.

però è sempre aperto come programma in console, quindi non credo che
cambi nulla sul discorso di poter selezionare con la tastiera, la vedo
parecchio difficile, ma mi posso sempre sbagliare, non avendolo mai
usato prima.

(è da pochi giorni che mi interesso a python).


--
Gollum1
Tesssssoro, dov'é il mio tessssoro...
unknown
2013-05-08 15:54:23 UTC
Permalink
Da: "Gollum1" <gollum1.smeagol1 a gmail.com>
Post by unknown
Vedi che c'é sempre da imparare?
non conoscevo neppure l'esistenza di ipython, io ho > sempre lanciato
l'interprete in konsole, e fatto le mie prove da li...
l'autocompletamento di ipython è interessante, parecchio.
però è sempre aperto come programma in console, quindi non credo che
cambi nulla sul discorso di poter selezionare con la tastiera, la vedo
parecchio difficile, ma mi posso sempre sbagliare, non avendolo mai
usato prima.
[...]

:) temo proprio che non ti stai sbagliando affatto...

Se c'è una soluzione, e propenderei per il sì, questa dipende da ipython stesso che possiede una marea di funzioni chiamate magic
che consentono di fare più o meno di tutto, con ciò che si scrive nell'interprete e con ciò che quest'ultimo ci risponde di rimando;
non è cercando di selezionare dalla console, qualsiasi periferica al di là del mouse credo non abbia speranza, che si deve cercare
ma in una di queste magic functions.
Ho dato una scorsa, prima alla quickreference e poi al manuale di ipython ed è stato come affacciarsi da un finestrone al 30° piano
di un palazzo... C'è da studiarci su per settimane, se non mesi, nel mio caso. Chiedevo in lista perchè qui, un paio di persone me
lo avevano suggerito, qualche tempo fa e pensavo che conoscessero al volo la risposta... Dimenticavo però, mi capita spesso! Che io
faccio le cose in maniere spesso alternative ed inusualy, il !Mouse, in questo caso.

Potrei sempre usare Eclipse, la cui console di Output invece, si comporta proprio come un file di testo entro cui funzionano tutti i
normali comandi di selezione ed editing; ma Eclipse è un'altra storia e lo apro solo per progetti più consistenti delle prove e
provette che faccio mentre studio. :)

Grazie a tutti.
G.
unknown
2013-05-08 20:59:39 UTC
Permalink
cercando online ho trovato un paio di moduli che offrono la
possibilità di copiare stringhe nella o dalla clipboard:

https://github.com/kennethreitz/xerox
http://coffeeghost.net/2010/10/09/pyperclip-a-cross-platform-clipboard-module-for-python/

(dovrebbero essere abbastanza simili tra loro, entrambi cross
platform, ma con qualche differenza nelle dipendenze; dei due ho
provato solo xerox, che è disponibile su pypi).

forse non è quello che avevi in mente, ma uno strumento del genere
potrebbe spostare il problema dal selezionare un contenuto mostrato a
video al catturare da codice il contenuto che ti serve e averlo a
disposizione in una stringa. Dalla stringa alla clipboard diventa una
semplice chiamata di funzione.

ciao,
riccardo
unknown
2013-05-08 13:12:52 UTC
Permalink
Il 08 maggio 2013 15:02, Gabriel Battaglia (Kriyaban)
Post by unknown
Ciò che cerco è più semplice.
1. Lancio ipython
2. al prompt, provo del codice;
Out [n] QualcosaError:....
..........
........
Io vorrei copiare negli appunti quell'errore, contenuto in Out [n], per poi
magari copiarlo qui e chiedere aiuto o spiegazioni.
In altre parole mi servirebbe catturare l'output dell'interprete di ipython, negli appunti.
Ho provato a selezionare il testo come normalmente faccio in un editor, cioè
tenendo premuto shift e muovendomi con le frecce verticali, per poi copiare
la selezione con ctrl+c ma nella shell di ipython, questo non funziona.
presumo che l'interprete python in modalità terminale usi un shell di
dos, quindi potrebbe funzionare il sistema stesso di dos.

se mi ricordo bene: selezionare quello che vuoi copiare, e battere return.

oppure con il menù contestuale sulla barra della finestra.



--
Gollum1
Tesssssoro, dov'é il mio tessssoro...
unknown
2013-05-08 13:51:53 UTC
Permalink
From: "Gollum1" <gollum1.smeagol1 a gmail.com>
presumo che l'interprete python in modalità terminale usi un shell di
dos, quindi potrebbe funzionare il sistema stesso di dos.
GB:
Sì, la modalità di funzionamento è identica a quella della shell DOS.

Gollum1:
se mi ricordo bene: selezionare quello che vuoi copiare, e battere return.

GB:
Il problema è selezionare... Come?

Gollum1:
oppure con il menù contestuale sulla barra della finestra.

GB:
Sotto modifica presenta: seleziona tutto... Ma non mi serve perchè tutto è, TROPPO! :D
Oppure copia che rimane però grayed finchè non selezioni qualcosa. Operazione che con la tastiera non riesco a fare.
Forse si potrebbe fare col mouse, non saprei, non posso usarlo Gollum, perchè non ci vedo e uso il pc via ScreenReader.

Ciao.
G
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130508/9546ff42/attachment-0001.html>
unknown
2013-05-08 15:11:24 UTC
Permalink
Il 08 maggio 2013 15:51, Gabriel Battaglia (Kriyaban)
Post by unknown
Il problema è selezionare... Come?
oppure con il menù contestuale sulla barra della finestra.
Sotto modifica presenta: seleziona tutto... Ma non mi serve perchè tutto
è, TROPPO! :D
nelle finestre dos (che questa dovrebbe ereditare) hai nel menù
contestuale la voce modifica, dentro trovi:

seleziona (abilita il mouse per selezionare il testo che ti serve)
copia <INVIO> (per copiare, non usabile fino a che non hai fatto una selezione)
Incolla (...)
Seleziona tutto
trova...


quindi dovresti avere il seleziona semplice, e non solo il seleziona tutto...
--
Gollum1
Tesssssoro, dov'é il mio tessssoro...
unknown
2013-05-08 15:18:08 UTC
Permalink
Il giorno 08 maggio 2013 15:51, Gabriel Battaglia (Kriyaban) <
iz4apu a libero.it> ha scritto:

funziona anche <ctrl><shift><c> per copia e <ctrl><shift><v> per incolla.

Il problema è selezionare... Come?
ma non sono riuscito a selezionare con la tastiera. :-P
--
Daniele

www.fugamatematica.blogspot.com

giusto!
nel verso
forse è perché non guardiamo le cose
Quando non ci capiamo,
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130508/2b178c66/attachment.html>
unknown
2013-05-09 06:25:34 UTC
Permalink
GB:
Sotto modifica presenta: seleziona tutto... Ma non mi serve perchè tutto è, TROPPO! :D
Oppure copia che rimane però grayed finchè non selezioni qualcosa. Operazione che con la tastiera non riesco a fare.
Forse si potrebbe fare col mouse, non saprei, non posso usarlo Gollum, perchè non ci vedo e uso il pc via ScreenReader.

Ciao.
G

Ciao Gabriele,
Hai provato col virtualizzatore di schermo?
Dovresti riuscire a virtualizzare il contenuto di qualsiasi finestra se non è una immagine, e quindi poi copiare il contenuto nel modo consueto...
Jaws e nvda lo attivano entrambi con insert+control+w.
NVDA usa allo scopo il plugin "Virtual revision" che se vuoi telo invio in privato.

Adriano
unknown
2013-05-09 06:50:45 UTC
Permalink
From: "Adriano Barbieri" <adrianobarb a yahoo.it>

GB:
Sotto modifica presenta: seleziona tutto... Ma non mi serve perchè tutto è, TROPPO! :D
Oppure copia che rimane però grayed finchè non selezioni qualcosa. Operazione che con la tastiera non riesco a fare.
Forse si potrebbe fare col mouse, non saprei, non posso usarlo Gollum, perchè non ci vedo e uso il pc via ScreenReader.

Ciao.
G

Adriano:
Ciao Gabriele,
Hai provato col virtualizzatore di schermo?
Dovresti riuscire a virtualizzare il contenuto di qualsiasi finestra se non è una immagine, e quindi poi copiare il contenuto nel
modo consueto...
Jaws e nvda lo attivano entrambi con insert+control+w.
NVDA usa allo scopo il plugin "Virtual revision" che se vuoi telo invio in privato.

GB:
Ciao e giorno a tutti.

In effetti funziona Adriano, ed è certamente una soluzione.
A dire il vero, per una questione mia, diciamo da perfezionista, avrei preferito non ricorrere a questo workaround ma usare una via
più... generale e definitiva, anche perchè il virtualizzatori poi, si perderebbe tutto l'output che dovesse superare il contenuto di
una singola videata, sebbene si tratterebbe comunque di casi piuttosto rari.

Grazie mille per avermelo ricordato però. Ciao ed una stupenda giornata.
G.
PS: NVDA non lo uso perchè per ora ha una pessima gestione del braille, spero nelle news di settembre.
unknown
2013-05-09 12:02:34 UTC
Permalink
2013/5/8 Gabriel Battaglia (Kriyaban) <iz4apu a libero.it>
Post by unknown
Io vorrei copiare negli appunti quell'errore, contenuto in Out [n],
L'errore non sta in Out[n]. Se c'e' stato un errore Out[n] da un KeyError.
L'errore sta nelle variabili sys.last_type, sys.last_value,
sys.last_traceback.
Post by unknown
import traceback
traceback.print_last()
import traceback
import sys
errore = traceback.format_exception(sys.last_type, sys.last_value,
sys.last_traceback)
Post by unknown
from Tkinter import Tk
r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append(''.join(errore))
r.destroy()
Ciao
--
Andrea Francia http://andreafrancia.it
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130509/da0c0fe8/attachment.html>
Loading...