Iklan

Klik adalah paket Python untuk menulis antarmuka baris perintah. Ini menghasilkan dokumentasi yang indah untuk Anda dan memungkinkan Anda membangun antarmuka baris perintah hanya dalam satu baris kode. Singkatnya: ini luar biasa dan dapat membantu membawa program Anda ke tingkat selanjutnya.

Inilah cara Anda dapat menggunakannya untuk menghidupkan proyek Python Anda.

Menulis Program Baris Perintah Tanpa Klik

Dimungkinkan untuk menulis program baris perintah tanpa menggunakan Klik, tetapi melakukannya membutuhkan lebih banyak usaha dan lebih banyak kode. Anda perlu mengurai argumen baris perintah, melakukan validasi, mengembangkan logika untuk menangani berbagai argumen, dan membangun menu bantuan kustom. Ingin menambahkan opsi baru? Anda akan memodifikasi fungsi bantuan Anda.

Tidak ada yang salah dengan menulis kode Anda sendiri, dan melakukannya adalah cara yang bagus untuk mempelajari Python, tetapi Klik memungkinkan Anda untuk mengikuti prinsip "Jangan Ulangi Diri Sendiri" (KERING). Tanpa Klik, Anda akan menulis kode yang rapuh dan membutuhkan banyak perawatan setiap kali terjadi perubahan.

instagram viewer

Berikut adalah antarmuka baris perintah sederhana yang dikodekan tanpa Klik:

impor sys. import random def do_work (): Berfungsi untuk menangani penggunaan baris perintah args = sys.argv args = args [1:] # Elemen args pertama adalah nama file jika len (args) == 0: cetak ('Anda belum memasukkan perintah apa pun di!') lain: untuk a dalam args: jika a == '--help': print ('Program baris perintah dasar') cetak ('Opsi:') cetak ('- -help -> show menu bantuan dasar ini. ') print (' --monty -> tunjukkan kutipan Monty Python. ') print (' --veg -> tunjukkan sayuran acak ') elif a ==' --monty ': print (' Apa ini, kemudian? "Romanes eunt domus"? Orang-orang bernama Romanes, mereka pergi, rumah? ') Elif a ==' --veg ': print (random.choice ([' Carrot ',' Potato ',' Turnip '])) lain: print (' Argumen tidak dikenal. ') jika __name__ ==' __main__ ': do_work ()
Contoh antarmuka Python command line

27 baris Python ini bekerja dengan baik tetapi sangat rapuh. Setiap perubahan yang Anda lakukan pada program Anda akan membutuhkan banyak kode pendukung lainnya untuk diubah. Jika Anda mengubah nama argumen, Anda perlu memperbarui informasi bantuan. Kode ini dapat dengan mudah tumbuh di luar kendali.

Berikut logika yang sama dengan Klik:

impor klik. import random @ click.command () @ click.option ('- monty', default = False, help = 'Tampilkan kutipan Monty Python.') @ click.option ('- veg', default = False, help = 'Tunjukkan sayuran acak.') def do_work (monty, veg): Contoh klik dasar akan mengikuti perintah Anda jika monty: print ('Apa ini, lalu? "Romanes eunt domus"? Orang-orang memanggil orang Romawi, mereka pergi, rumah? ') Jika veg: print (random.choice ([' Carrot ',' Potato ',' Turnip '])) jika __name__ ==' __main__ ': do_work ()

Contoh Klik ini mengimplementasikan logika yang sama dalam 16 baris kode. Argumen diuraikan untuk Anda, dan layar bantuan dihasilkan:

Python Click layar bantuan yang dihasilkan secara otomatis

Perbandingan dasar ini menunjukkan berapa banyak waktu dan upaya yang dapat Anda hemat dengan menggunakan program seperti Klik. Meskipun antarmuka baris perintah mungkin tampak sama untuk pengguna akhir, kode yang mendasarinya lebih sederhana, dan Anda akan menghemat banyak pengkodean waktu. Setiap perubahan atau pembaruan yang Anda tulis di masa depan juga akan melihat peningkatan waktu pengembangan yang signifikan.

Memulai Dengan Klik untuk Python

Sebelum menggunakan Klik, Anda mungkin ingin konfigurasikan lingkungan virtual Pelajari Cara Menggunakan Lingkungan Virtual PythonApakah Anda seorang pengembang Python yang berpengalaman, atau Anda baru memulai, mempelajari cara mengatur lingkungan virtual sangat penting untuk setiap proyek Python. Baca lebih banyak . Ini akan menghentikan paket Python Anda yang bertentangan dengan sistem Anda Python atau proyek lain yang sedang Anda kerjakan. Anda juga bisa coba Python di browser Anda Coba Python di Browser Anda Dengan Kerang Interaktif Online Gratis IniApakah Anda akan melihat contoh-contoh Python ini atau meninjau dasar-dasar array dan daftar, Anda dapat menguji kode tersebut langsung di browser Anda. Berikut adalah juru bahasa Python online terbaik yang kami temukan. Baca lebih banyak jika Anda ingin bermain-main dengan Python dan Klik.

Akhirnya, pastikan Anda menjalankan Python versi 3. Dimungkinkan untuk menggunakan Klik dengan Python versi 2, tetapi contoh-contoh ini ada di Python 3. Pelajari lebih lanjut tentang perbedaan antara Python 2 dan Python 3.

Setelah siap, instal Klik dari baris perintah menggunakan PIP (cara menginstal PIP untuk Python):

pip klik instalasi

Menulis Program Klik Pertama Anda

Di editor teks, mulailah dengan mengimpor Klik:

impor klik

Setelah diimpor, buat a metode dan a utama titik masuk. Kami Panduan Python OOP mencakup ini secara lebih rinci, tetapi mereka menyediakan tempat untuk menyimpan kode Anda, dan cara bagi Python untuk mulai menjalankannya:

impor klik. import random def veg (): Metode dasar akan mengembalikan cetakan sayuran acak (random.choice (['Wortel', 'Kentang', 'Turnip', 'Parsnip'])) jika __name__ == '__main__': veg ()

Skrip yang sangat sederhana ini akan menghasilkan sayuran acak. Kode Anda mungkin terlihat berbeda, tetapi contoh sederhana ini sangat cocok untuk digabungkan dengan Klik.

Simpan ini sebagai click_example.py, dan kemudian jalankan di baris perintah (setelah menavigasi ke lokasinya):

python click_example.py

Anda harus melihat nama sayuran acak. Mari tingkatkan hal-hal dengan menambahkan Klik. Ubah kode Anda untuk menyertakan dekorator Klik dan a untuk lingkaran:

@ click.command () @ click.option ('- total', default = 3, help = 'Jumlah sayuran yang akan diproduksi.') def veg (total): Metode dasar akan mengembalikan sayuran acak untuk angka dalam kisaran (total): cetak (random.choice (['Wortel', 'Kentang', 'Turnip', 'Parsnip'])) jika __name__ == '__main__': veg ()

Saat berlari, Anda akan melihat sayuran acak ditampilkan tiga kali.

Mari kita uraikan perubahan ini. Itu @ click.command () dekorator mengkonfigurasi Klik untuk bekerja dengan fungsi segera setelah dekorator. Dalam hal ini, ini adalah veg () fungsi. Anda akan membutuhkan ini untuk setiap metode yang ingin Anda gunakan dengan Klik.

Itu @ click.option dekorator mengonfigurasi klik untuk menerima parameter dari baris perintah, yang akan diteruskan ke metode Anda. Ada tiga argumen yang digunakan di sini:

  1. -total: Ini adalah nama baris perintah untuk total argumen.
  2. default: Jika Anda tidak menentukan argumen total saat menggunakan skrip Anda, Klik akan menggunakan nilai dari default.
  3. Tolong: Sebuah kalimat pendek yang menjelaskan cara menggunakan program Anda.

Mari kita lihat Klik dalam aksi. Dari baris perintah, jalankan skrip Anda, tetapi masukkan total argumen seperti ini:

python click_example.py --total 10

Dengan pengaturan - total 10 dari baris perintah, skrip Anda akan mencetak sepuluh sayuran acak.

Jika Anda lulus di -Tolong tandai, Anda akan melihat halaman bantuan yang bagus, bersama dengan opsi yang dapat Anda gunakan:

python click_example.py --help
Klik bantuan Python

Menambahkan Perintah Lagi

Dimungkinkan untuk menggunakan banyak dekorator Klik pada fungsi yang sama. Tambahkan opsi klik lain ke menu sayuran fungsi:

@ click.option ('- saus', default = Salah, bantuan = 'Tambahkan "dengan saus" ke sayuran.')

Jangan lupa menyampaikan ini ke dalam metode:

def veg (total, saus):

Sekarang ketika Anda menjalankan file Anda, Anda dapat meneruskan di saus bendera:

python click_example.py --gravy y

Layar bantuan juga telah berubah:

Layar bantuan Klik Python

Inilah keseluruhan kode (dengan sedikit refactoring untuk kerapian):

impor klik. import random @ click.command () @ click.option ('- saus', default = Salah, bantuan = 'Tambahkan "dengan saus" ke sayuran.') @ click.option ('- total', default = 3, help = 'Jumlah sayuran yang akan diproduksi.') def veg (total, gravy): Metode dasar akan mengembalikan sayuran acak untuk angka dalam kisaran (total): choice = random.choice (['Wortel', 'Kentang', 'Turnip', 'Parsnip']) jika saus: cetak (f '{pilihan} dengan saus') lain: cetak (pilihan) jika __name__ == '__main__': veg ()

Pilihan Klik Lebih Banyak Lagi

Setelah Anda mengetahui dasar-dasarnya, Anda dapat mulai melihat opsi Klik yang lebih kompleks. Dalam contoh ini, Anda akan belajar cara menyampaikan beberapa nilai ke argumen tunggal, yang akan dikonversikan ke sebuah tuple. Anda dapat mempelajari lebih lanjut tentang tupel di panduan ke kamus Python.

Buat file baru bernama click_example_2.py. Inilah kode pemula yang Anda butuhkan:

impor klik. import random @ click.command () def add (): Metode dasar akan menambahkan dua angka bersamaan. lulus jika __name__ == '__main__': add ()

Tidak ada yang baru di sini. Bagian sebelumnya menjelaskan kode ini secara rinci. Tambah sebuah @ click.option dipanggil angka:

@ click.option ('- angka', nargs = 2, type = int, help = 'Tambahkan dua angka bersamaan.')

Satu-satunya kode baru di sini adalah nargs = 2, dan type = int pilihan. Ini memberitahu Klik untuk menerima dua nilai untuk angka opsi, dan keduanya harus bertipe integer. Anda dapat mengubah ini ke nomor atau tipe data apa pun yang Anda suka.

Akhirnya, ubah Menambahkan metode untuk menerima angka argumen, dan lakukan beberapa pemrosesan dengan mereka:

def add (angka): Metode dasar akan menambahkan dua angka bersamaan. hasil = angka [0] + angka [1] dicetak (f '{angka [0]} + {angka [1]} = {hasil}')

Setiap nilai yang Anda berikan dapat diakses melalui angka obyek. Berikut cara menggunakannya di baris perintah:

python click_example_2.py --nomor 1 2
Hasil pencarian Python Click

Klik Adalah Solusi untuk Utilitas Python

Seperti yang Anda lihat, Click mudah digunakan tetapi sangat kuat. Sementara contoh-contoh ini hanya mencakup dasar-dasar Klik, ada banyak fitur yang dapat Anda pelajari sekarang karena Anda sudah memahami dasar-dasarnya.

Jika Anda mencari beberapa proyek Python untuk melatih keterampilan baru Anda yang ditemukan, mengapa tidak belajar cara mengontrol Arduino dengan Python Cara Memprogram dan Mengontrol Arduino Dengan PythonSayangnya, tidak mungkin untuk secara langsung memprogram Arduino dengan Python, tetapi Anda dapat mengontrolnya melalui USB menggunakan program Python. Begini caranya. Baca lebih banyak , atau bagaimana membaca dan menulis ke Google Sheets dengan Python Cara Membaca dan Menulis ke Google Sheets With PythonPython mungkin tampak aneh dan tidak biasa, namun mudah dipelajari dan digunakan. Pada artikel ini, saya akan menunjukkan kepada Anda cara membaca dan menulis ke Google Sheets menggunakan Python. Baca lebih banyak ? Salah satu dari proyek ini akan sempurna untuk mengonversi menjadi Klik!

Joe adalah lulusan Ilmu Komputer dari University of Lincoln, Inggris. Dia adalah pengembang perangkat lunak profesional, dan ketika dia tidak terbang drone atau menulis musik, dia sering ditemukan mengambil foto atau memproduksi video.