Come posso commentare più righe nel notebook Jupyter Ipython? [chiuso]


269

Voglio commentare un blocco di più righe in Jupyter (Ipython Notebook), ma non riesco a scoprire come farlo in questa versione corrente.
Una volta si trovava in uno dei menu a discesa ma non è più presente.
Come si commentano blocchi di codice su più righe contemporaneamente?

Questo non è un duplicato perché la soluzione fornita nel seguente link sembra non funzionare più:
Come posso bloccare il codice di commento nel notebook IPython?

Ctrl+ /non fa nulla.


Le parentesi e le virgolette automatiche funzionano? Una versione precedente di IPython ha perso quella funzionalità (almeno, non era predefinita), ma l'ultima versione stabile ce l'ha di nuovo. Immagino che le linee di commento siano in bundle con quelle e altre funzionalità di modifica del codice. Forse devi aggiornare ipython.
drevicko,

8
La soluzione della domanda collegata funziona ancora con IPython 3.0. Sfortunatamente, è necessario un layout di tastiera americano per usarlo (come indicato nella risposta). Con il mio layout tedesco questo non ha mai funzionato, quindi la domanda e la risposta originali sono ancora valide.
Jakob,


Ho una tastiera americana.
chrisfs,

Ho aggiornato la mia risposta nella domanda collegata per gestire layout di tastiera non inglesi. Provaci.
Jakob,

Risposte:


388

Ctrl+ /Funziona per me nel browser Chrome in MS Windows. Su un Mac, usa Cmd+ /(grazie Anton K).


Si prega di notare, se /non ha funzionato fuori dalla scatola, provare a premere il /tasto sul tastierino numerico. Ringraziamento: @DreamFlasher nei commenti a questa domanda.


5
Funziona anche con Firefox.
Jacques MALAPRADE,

27
È Cmd + / su Mac
Anton K,

9
Questo non funzionerà con le tastiere con layout finlandese! Stai usando una tastiera con layout americano?
Dataman,

3
Per me questo non funziona, maCtrl + #
phi,

11
Questo non funziona, tranne quando /viene utilizzato il dal tastierino numerico.
DreamFlasher

56

Non sono ancora riuscito a trovare il modo migliore possibile. Dal momento che sto usando una tastiera con Finnishlayout, alcune delle risposte non funzionano per me (ad esempio la risposta di user5036413).

Tuttavia, nel frattempo, ho trovato una soluzione che almeno mi aiuta a non commentare ogni riga una per una. Sto usando Chrome browserin MS Windowse non ho verificato altre possibilità però.

La soluzione:
utilizza il fatto che è possibile avere più cursori di linea in un file Ipython Notebook.

Premi il Altpulsante e tienilo premuto. Il cursore dovrebbe cambiare la sua forma in un grande segno più. Il passaggio successivo consiste nell'utilizzare il mouse per indicare l'inizio della prima riga che si desidera commentare e, tenendo premuto il Altpulsante, trascinare il mouse verso il basso fino all'ultima riga che si desidera commentare. Infine, puoi rilasciare il Altpulsante e quindi utilizzare il #personaggio per commentare. Ecco! Ora hai commentato più righe.


Intelligente. Ho appena provato questo in Firefox e ha funzionato, ma ho dovuto fare attenzione con la mia selezione del cursore.
Michael Szczepaniak,

10
Funziona come un fascino! Ma solo un chiarimento. Dopo aver ottenuto il segno + grande premendo il tasto Alt, NON selezionare tutto il testo nel blocco di codice che si desidera commentare !! Basta trascinare il puntatore verso il basso sul bordo sottile sinistro del testo, selezionando l'inizio della linea in ciascuna delle linee del blocco. Quindi premendo # verrà inserito un # all'inizio di ciascuna delle righe. Se invece selezioni tutto il testo, SOSTITUIRÀ il testo in ogni riga con un cancelletto (#).
John Strong,

4
È possibile selezionare l'intero testo, in realtà. Basta premere la freccia sinistra per deselezionare, quindi digitare ciò che si desidera e verrà applicato a ciascuna riga. :)
Matt

Mi piace, perché è più generale che commentare una parte. Sai comunque che si può commentare parte del codice inserendolo tra virgolette triple (come una stringa multilinea)?
Arpad Horvath,

1
pazzo pazzo ma funziona applausi
seralouk

38

Prova a usare il /dalla tastiera numerica. Ctrl+ /in Chrome non funzionava per me, ma quando ho usato il /(simbolo di divisione) dal numerico ha funzionato.


perché questo accada?
xmduhan,

2
Grazie per la precisione della TASTIERA NUMERICA, è stata la chiave
Mayeul sgc

Lo stesso qui, ctrl+ /non funziona, ma dalla tastiera numerica funziona.
DreamFlasher

16

Aggiunta rapida alla risposta principale : CTRL + / è utile perché alterna avanti e indietro tra l'aggiunta e la rimozione di # all'inizio di tutte le righe selezionate. Non ho visto quella sfumatura esatta menzionata, quindi volevo solo aggiungerla qui. (Funzionava in Firefox Developer Edition 54.0b12 su Windows 7).


11

Su una tastiera finlandese usa Ctrl+ 'per commentare su più righe e utilizzare gli stessi tasti per de-commentare.

Ubuntu 14.04 Google Chrome


1
Funziona anche su Windows e Google Chrome con layout tedesco. Ctrl + #
Ahue

per inciso, questo non funziona su Spyder-Notebook.
imsrgadich,

Scorciatoia sul layout francese qualcuno?
Paul Rougieux,

11

TL; DR:

Utilizzo di MacBook Pro con spagnolo - Tastiera ISO.

Soluzione: Ctrl+-

La storia completa

Questo è un vecchio post, ma leggerlo mi ha fatto pensare a possibili scorciatoie.

La mia tastiera è un Apple MacBook Pro latino, che si chiama spagnolo - ISO . Ho provato a cambiare la distribuzione della tastiera nella soluzione americana ... funziona, ma con questa soluzione devo cambiare tastiera ogni volta che voglio commentare che ... fa schifo.

Quindi ho provato ctrl+ -e funziona. La -è dove la /si trova in una tastiera inglese, ma facendo Cmd+ -cambia solo lo zoom del Chrome così ho provato Ctrl che non è così utilizzato come Cmd in MacOS.

Il mio da asporto con questo sarebbe: se avessi più problemi di scelta rapida, potrei provare la scorciatoia originale ma usando il tasto in cui la tastiera americana avrebbe.


6

Ho provato questo su Mac OSX con Chrome 42.0.2311.90 (64 bit) e questo funziona usando CMD + /

The version of the notebook server is 3.1.0-cbccb68 and is running on:
Python 2.7.9 |Anaconda 2.1.0 (x86_64)| (default, Dec 15 2014, 10:37:34) 
[GCC 4.2.1 (Apple Inc. build 5577)]

Potrebbe essere un problema relativo al browser? Hai provato Firefox o IE?


Stavo usando Firefox. Ho un PC con Win 7
chrisfs,

Puoi aggiornare la tua versione di ipython come indicato da @drevicko? Quale versione di ipython stai usando? Quale versione di Python?
Koen,

Per qualunque motivo strano e indecifrabile, ctrl- / funziona ora. Perché non ha funzionato un giorno fa e funziona ora, non ho una risposta per. Non ho modificato la mia installazione, FWIW che sto usando La versione del server notebook è 3.0.0-f75fda4 ed è in esecuzione su: Python 2.7.8 | Anaconda 2.2.0 (64-bit) | (impostazione predefinita, 2 luglio 2014, 15:12:11) [MSC v.1500 64 bit (AMD64)]
chrisfs,

Come posso chiudere questa domanda da solo? Sembra self-service per rispondere e selezionare la mia risposta quando la risposta è che si è "riparato"
chrisfs,

6

Fn+ Cmd+ /nel browser Safari su MacOS


2
Cmd+ /potrebbe anche funzionare
Paul

4

Seleziona le righe che desideri commentare. Quindi premere:

Ctrl + #


3

Usa le virgolette triple '''all'inizio e alla fine. Verrà ignorato come doc stringall'interno della funzione.

'''
This is how you would
write multiple lines of code
in Jupyter notebooks.
'''

Non riesco a capire come stamparlo su più righe, ma puoi aggiungere una riga ovunque tra quelle virgolette e il tuo codice andrà bene.


Questo non funziona per me. Jupyter si lamenta, a IndentationError: expected an indented blockprescindere dal fatto che io indenti le cose tra le virgolette o meno.
teylyn,

Stampa ancora nella cella di output, vero? Ho commentato un ciclo for e lo vedo nella cella di output qui sotto:'\nfor column in homeData:\n homeDataColumn = homeData[column]\n print(type(homeDataColumn.values[0]))\n'
JimLohse,

Puoi quindi cambiare la cella da "Codice" nel menu a discesa, a "rawNB Convert" in modo che non ci sia output quando esegui la cella
SherylHohman

Non risponde alla domanda.
Natacha,

2

Su MacOS 10.11 con Firefox e un layout di tastiera tedesco è Ctrl+?


2
Questa risposta mi ha aiutato. Per me la combinazione di tasti "comando + ß" ha funzionato
Johann l'

Tastiera francese, usando questo funziona.
Bohao LI,


1

Aggiungo la stessa situazione e sono andato in un paio di stackoverfow, github e tutorial che mostrano soluzioni complesse. Niente di semplice però! Alcuni con "Tieni premuto il tasto alt e muovi il mouse mentre il cursore mostra una croce" che non è per gli utenti di laptop (almeno per me), altri con file di configurazione ...

L'ho trovato dopo una buona notte di sonno. Il mio ambiente è laptop, ubuntu e Jupyter / Ipython 5.1.0:

Basta selezionare / evidenziare una riga, un blocco o qualcosa del genere, quindi "Ctrl" + "/" ed è magico :)


1

Dopo aver cercato per un po 'ho trovato una soluzione per commentare un mac AZERTY. La scorciatoia èCtrl +/= key


0

Seleziona le linee sul notebook jupyter di Windows e premi Ctrl+ #.


0

Un'altra cosa da aggiungere, nella versione che sto usando, il codice deve essere inizializzato per poter commentare usando CTRL e /. Se non hai eseguito il codice e il codice non è colorato, non funzionerà.


0

Sto usando Chrome, Linux Mint; e per commentare e dis-commentare un fascio di righe:

Ctrl + /


-1

Se hai un Mac e non una tastiera inglese: Cmd- / è ancora facile da produrre.

Segui i passaggi seguenti:

  1. Basta andare in Impostazioni di sistema del Mac, Tastiera, scheda "Sorgenti di input" o come potrebbe essere chiamato in inglese
  2. Aggiungi quello per l'inglese (si presenta come ABC, strano modo di pronunciare l'inglese).

Ogni volta che si desidera un Cmd- /, è necessario passare alla tastiera ABC (nella riga del menu nella parte superiore dello schermo, se è stato selezionato per essere mostrato lì nella System Settings - Keyboard tab).

Cmd e la chiave a sinistra della destra " shift key" ti dà Cmd- /.

PS: non dimenticare di tornare alla tua normale tastiera.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.