Unisci la cronologia dei comandi tra la shell Python e il terminale Unix


0

Una caratteristica utile della maggior parte dei terminali Unix è il fatto che è possibile premere i tasti freccia su e giù per scorrere la cronologia dei comandi per ripetere i vecchi comandi.

Questa funzione esiste anche nella shell Python quando viene eseguita dal terminale Unix.

Il mio problema è che se sto eseguendo il debug di un programma Python, in genere inizierò da Unix e scriverò pythone poi from mypython import *inizierò a correre e controllare le mie funzioni. Se finisco con un errore in qualsiasi momento e devo apportare modifiche al file, devo eseguire il exit()pitone e rientrare per emettere un nuovo comando di importazione che utilizza il file modificato. Di solito ho digitato diversi comandi lunghi e complicati che vorrei ripetere, quindi sarebbe bello se la cronologia dei comandi fosse mantenuta tra le sessioni.

Quindi voglio sapere se esiste un modo per unire la cronologia dei comandi tra Unix e Python, o in alternativa un modo per conservare la cronologia dei comandi tra le sessioni Python.


1
Perché non premi semplicemente Ctrl-zper sospendere la sessione di Python? Quindi modifica il file e digita fgper riprendere la sessione di Python.
Nifle,

@Nifle Il problema principale non è uscire da Python per apportare modifiche, diciamo in Emacs o qualcosa del genere. Il problema principale è che, poiché ho già emesso il from abc import *comando, non posso rilasciare tale importazione ed emettere un nuovo from abc import *comando che utilizza la versione modificata.
Ben Mordecai,

1
Ahh, ha senso.
Nifle,

1
Ci hai provato reload(modulename)? Non funzionerà altrettanto bene con il from something import *modulo come con import modulee from dotted.name import submodulecomunque.
Celada,
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.