Saya sedang mengerjakan interpreter python default pada Mac OS X, dan saya Cmd+ K(membersihkan) perintah saya sebelumnya. Saya bisa melaluinya satu per satu menggunakan tombol panah. Tapi apakah ada opsi seperti opsi --history di bash shell, yang menunjukkan semua perintah yang Anda masukkan sejauh ini?
150
history
perintah shell adalah program seperti yang lain. Ini bukan "opsi" dalambash
perintah.history
adalah shell builtin.%history
. Dan-g
opsi mendapatkan sesi sebelumnya .Jawaban:
Gunakan
readline.get_current_history_length()
untuk mendapatkan panjangnya, danreadline.get_history_item()
untuk melihat masing-masing.sumber
Kode untuk mencetak seluruh sejarah:
Python 3
One-liner (salin cepat dan tempel):
(Atau versi yang lebih panjang ...)
Python 2
One-liner (salin cepat dan tempel):
(Atau versi yang lebih panjang ...)
Catatan :
get_history_item()
diindeks dari 1 ke n.sumber
import readline; print '\n'.join([str(readline.get_history_item(i)) for i in range(readline.get_current_history_length())])
history()
fungsi dengan yang di atas dalam skrip startup interpreter Python saya (skrip yang ditunjukkan oleh env. Var$PYTHONSTARTUP
). Mulai sekarang, saya cukup mengetikhistory()
sesi interpreter apa pun ;-)Dengan interpreter python 3 sejarah ditulis untuk
~/.python_history
sumber
cat ~/.python_history
quit()
juru bahasa untuk riwayat sesi saat ini untuk dimasukkan dalam~/.python_history
Jika Anda ingin menulis riwayat ke file:
Fungsi bantuan memberi:
sumber
Karena di atas hanya berfungsi untuk python 2.x untuk python 3.x (khusus 3.5) serupa tetapi dengan sedikit modifikasi:
perhatikan ekstra ()
(menggunakan skrip shell untuk mengurai .python_history atau menggunakan python untuk mengubah kode di atas adalah masalah selera pribadi dan situasi imho)
sumber
C:\>python -m pip install readline
=>Collecting readline
\ nDownloading https://files.pythonhosted.org/packages/f4/01/2cf081af8d880b44939a5f1b446551a7f8d59eae414277fd0c303757ff1b/readline-6.2.4.1.tar.gz (2.3MB)
\ n|████████████████████████████████| 2.3MB 1.7MB/s
\ nERROR: Complete output from command python setup.py egg_info:
\ nERROR: error: this module is not meant to work on Windows
\ n----------------------------------------
\ n `KESALAHAN: Perintah" python setup.py egg_info "gagal dengan kode kesalahan 1 dalam C: \ Users \ dblack \ AppData \ Local \ Temp \ pip-install-s6m4zkdw \ readline`pip install readline
, tetapireadline
diinstal secara default di Windows.Dalam IPython
%history -g
harus memberi Anda seluruh sejarah perintah. Konfigurasi default juga menyimpan riwayat Anda ke file bernama .python_history di direktori pengguna Anda.sumber
Fungsi sederhana untuk mendapatkan riwayat yang mirip dengan versi unix / bash.
Semoga ini bisa membantu beberapa orang baru.
Cuplikan: Diuji dengan Python3. Beritahu saya jika ada gangguan dengan python2. Sampel:
Semoga ini bisa membantu teman.
sumber
cut -c 8
mereka keluar.)@ Jason-V, ini sangat membantu, terima kasih. kemudian, saya menemukan contoh ini dan dibuat untuk memiliki cuplikan.
sumber
Ini akan memberi Anda perintah yang dicetak dalam baris terpisah:
sumber
Pengulangan dari Doogle jawaban 's yang tidak nomor Printline, tetapi tidak memungkinkan menentukan jumlah baris untuk mencetak.
sumber