Pertanyaan Bagaimana saya bisa mendapatkan penyelesaian tab di interpreter Python interaktif?


Saya sering menggunakan interpreter interaktif Python 3000, tetapi tidak memiliki kenyamanan penyelesaian tab yang saya gunakan dari ipython, yang tidak tersedia untuk Python 3.x.

Bagaimana cara mengaktifkan penyelesaian tab pada semuanya, 2.6 dan 3.x?


14
2018-02-10 09:36


asal




Jawaban:


Pertama, buat file baru bernama .pythonstartup.py di direktori home Anda. Masukkan skrip berikut di dalamnya:

try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")

Tanda kurung di sekitar string memastikan bahwa itu bekerja dengan baik Python 2 dan Python 3.

Setiap kali interpreter interaktif dimulai, ia mengeksekusi skrip yang ditentukan $PYTHONSTARTUP, jika ada. Untuk mengaturnya untuk menjalankan skrip di atas, ketik

export PYTHONSTARTUP=".pythonstartup.py"

Anda harus menulis baris ini ke Anda .bashrc atau .bash_profile file, sehingga secara otomatis dijalankan ketika shell baru dimulai.


17
2018-02-10 09:41



PEMBERITAHUAN: Ini tidak akan berfungsi jika Anda memulai terminal dan kemudian mengubah direktori. Jika Anda ingin metode ini bekerja terlepas dari direktori Anda, Anda harus menggunakan path lengkap seperti export PYTHONSTARTUP="/home/user/.pythonstartup.py" - Pithikos
Anda dapat membuat ekspor sedikit lebih toleran dengan mengekspor PYTHONSTARTUP=~/.pythonstartup.py - Mikael Fremling
Ini tidak berfungsi jika Anda memulai file dalam mode interaktif, mis. python -i main.py. Ada cara untuk melakukan itu? - Chris Anderson