Saya ingin menyalin kode Python / seluruh fungsi dan kelas yang sudah menjorok ke dalam IPython. Setiap kali saya mencoba lekukannya kacau dan saya mendapatkan pesan kesalahan berikut:
IndentationError: unindent does not match any outer indentation level (<ipython-input-23-354f8c8be51b>, line 12)
If you want to paste code into IPython, try the %paste and %cpaste magic functions.
Jawaban:
Anda tidak dapat menyalin ke IPython secara langsung. Ini langkah-langkahnya:
%paste
ke IPythonsumber
%autoindent
.Ipython 5
Anda bisa menempelkan kode. Tidak perlu%paste
lagi. Baca jawaban ini .paste
.Klarifikasi tentang langkah-langkah:
Pertama, salin baris target ke clipboard Anda.
Ketik ke prompt iPython:
%paste
%cpaste
Tempel (Ctrl-V) dan tekan enter.
Lalu ketik
--
dan tekan enter.Sebagai contoh:
sumber
Pada Ipython 5 Anda tidak memerlukan perintah ajaib apa pun, cukup tempelkan
Lebih lanjut tentang ini di sini
Untuk meningkatkan
ipython
ke versi terbarusumber
>
tanda seperti ini:>>> a = 1 + 2
%paste
membutuhkanTkinter
. Jika Anda menggunakan ubuntu, Anda dapat menginstalnya denganJika Anda menggunakan Python3
Kemudian restart ipython dan gunakan
%paste
untuk menempelkan dari clipboard Anda.sumber
Salah satu jawaban yang berguna hilang di komentar, jadi ingin mengulanginya bersama dengan menambahkan referensi untuk fungsi ajaib IPython yang berguna.
Pertama untuk menyatakan kembali apa yang dikatakan @EOL, salah satu cara untuk menyelesaikan masalah OP adalah mematikan indentasi otomatis dengan terlebih dahulu menjalankan
%autoindent
dan melakukan paste (tidak diperlukan jika Anda menggunakan%paste
, tentu saja).Sekarang untuk menambahkan lebih banyak informasi ke apa yang sudah ada di sini, satu lagi mode yang berguna di IPython
%doctest_mode
yang memungkinkan Anda untuk menyalin contoh tempel dan menguji cuplikan dari string dokumen. Ini juga berguna untuk menjalankan keluaran sesi python interaktif yang dapat Anda temukan di dokumentasi dan forum online, tanpa harus terlebih dahulu menghapus string prompt.sumber
Untuk pengguna ubuntu yang menggunakan Python 3.
Itu
python-tk
untuk Python 2.Untuk membuat
%paste
Python 3 bekerja, instalpython3-tk
paket:sumber