Python

Tutorial Parsing Baris Perintah Python

Tutorial Parsing Baris Perintah Python
Parsing adalah proses menganalisis serangkaian teks untuk mengetahui apa yang seharusnya dilakukan program dengan perintah yang diberikan. Teks dipecah menjadi potongan-potongan kecil, yang dikenal sebagai token untuk membangun struktur data yang diketahui oleh compiler, atau interpreter. Eksekusi menghasilkan hasil yang diinginkan pada akhirnya. Python sering digunakan sebagai bahasa untuk mengurai baris perintah dengan mudah. Panduan ini menggunakan modul khusus yang dikirimkan dengan Python, dan dikenal sebagai argparse. Hal khusus dari argparse adalah, cukup mudah digunakan, ramah pengguna, tersedia dengan Python, dan membantu dalam membuat antarmuka baris perintah dengan mudah.

Panduan berikut menunjukkan cara menggunakan argparse di Ubuntu, dengan Python3, dan dengan demikian pastikan keduanya sudah tersedia sebelum melanjutkan. Jika Python3 tidak tersedia, itu dapat diinstal dengan dua baris perintah berikut:

sudo apt-get update
sudo apt-get install python3.6

Sintaks Esensial

Tujuan dari panduan ini adalah untuk menguraikan fitur inti dari argparse, dan bagaimana menggunakan beberapa pilihannya. Argparse membutuhkan Python, dan notepad untuk mengetikkan perintahnya. Ubuntu memiliki notepad sendiri yang dikenal sebagai "Editor teks", yang dapat diakses melalui dasbor Ubuntu. Perintah dijalankan melalui terminal.

  1. Luncurkan Editor Teks melalui Ubuntu Dash.
  2. Ketik dua baris berikut sebagai kode penting. Baris pertama mengimpor modul argparse ke cuplikan kode, sedangkan baris kedua membuat objek parser argumen, yang berisi semua informasi yang diperlukan untuk mengurai perintah ke tipe data Python. impor argparse
    pengurai = argparse.Pengurai Argumen()
  3. Gunakan perintah berikut untuk mengonversi string argumen menjadi objek. Biasanya, objek dipakai, dan ditugaskan ke variabel, tetapi itu tidak perlu. pengurai.parse_args()
  4. Program ini dapat dijalankan di terminal Linux melalui python3 dengan perintah berikut:. python3 pscript.py

Menampilkan Deskripsi Aplikasi

Parameter deskripsi aplikasi adalah untuk menyatakan untuk apa aplikasi itu. Saat perintah bantuan digunakan dengan skrip python, deskripsi aplikasi muncul bersama dengan flag yang tersedia untuk digunakan dalam program.  Baris berikut perlu digunakan untuk menyatakan deskripsi aplikasi.

pengurai = argparse.ArgumentParser(description='deskripsi aplikasi')

Menampilkan Deskripsi di Akhir (Epilog)

Sebagai deskripsi, epilog dapat ditampilkan di akhir dengan parameter epilog. Seperti deskripsi, itu juga harus ditentukan dalam fungsi argumentParser.

Cara Menggunakan Argumen

Argumen didefinisikan dengan tambahkan_argumen() fungsi. Ini menentukan argumen/argumen posisi mana yang akan digunakan dengan skrip python. Secara default, program menerima flag -help sebagai argumen posisi, tetapi lebih banyak dapat ditambahkan dengan menggunakan fungsi tersebut di atas. Ada banyak cara untuk menambahkan argumen ke aplikasi.

Argumen Posisi Tunggal

Argumen posisi tunggal memastikan program hanya menerima satu argumen. Dalam contoh berikut, itu menyatakan bld sebagai argumen; maka hanya bld yang dapat digunakan sebagai argumen posisi saat menjalankan program. Jika argumen tidak ada, program akan menampilkan kesalahan dengan pesan peringatan "terlalu sedikit argumen". Hal khusus dari argumen posisional adalah, tidak harus dinyatakan di terminal saat memberikan argumen ke program.

pengurai.add_argument("bld")

Argumen Posisi dalam Tipe Tertentu

tambahkan_argumen() tidak hanya membutuhkan satu argumen, tetapi juga beberapa argumen seperti yang terlihat pada contoh berikut:. Jika beberapa argumen disediakan, mereka harus diformat sebagai berikut:. Argumen pertama mendefinisikan nama argumen posisi, yang kedua adalah tipenya, artinya tipe nilai yang diterima sebagai argumen untuk program, yang terakhir adalah untuk deskripsi yang hanya muncul saat menggunakan flag bantuan.

Pada tangkapan layar berikut, ini menggambarkan bagaimana program menolak untuk menerima nilai non-integral apa pun sebagai argumen posisi. Hanya nilai integer yang dapat dikirimkan di sini sekarang.

pengurai.add_argument('bld', ketik=int,
help="nilai integer diperlukan")

Argumen Posisi Opsional dalam Tipe Tertentu

Baris perintah berikut ini sama dengan yang di atas, kecuali membuat argumen posisi opsional dengan parameter nargs; maka pengguna dapat menghilangkannya saat menjalankan program. Namun, jika argumen diberikan, itu harus dalam tipe data yang benar atau tidak akan melanjutkan penguraian seperti biasa.

pengurai.add_argument('bld', type=int, nargs='?',
help='Bidang ini untuk nilai integer opsional')

Argumen Opsional dalam Tipe Tertentu

Perbedaan antara argumen, dan argumen posisional adalah argumen posisi tidak harus disebutkan, sedangkan argumen harus disebutkan sebagai flag beserta nilainya saat menjalankan program. Baris perintah berikut berisi teks yang sama persis, kecuali baris ganda di depan (tanda hubung). Mereka menandakan argumen adalah argumen/bendera yang harus disebutkan bersama dengan nilai dalam tipe yang diberikan saat menjalankan program. Untuk membuat penggunaan argumen wajib diperlukan=Benar parameter dapat digunakan dalam fungsi add_argument() sebagai salah satu argumen lain. Seperti yang dikatakan di atas, tidak mematuhi format akan menimbulkan kesalahan.

Penggunaan Argumen Pendek

Argumen pendek bertindak dengan cara yang sama seperti rekan-rekannya yang lebih panjang. Satu-satunya perbedaan adalah membantu menghemat ruang saat menggunakan sejumlah besar baris perintah atau ketika pengembang ingin menjaga agar perintah tetap rapi, dan terorganisir sebanyak mungkin. Dalam contoh berikut ini menggambarkan bagaimana program merespons kedua argumen dengan cara yang sama. Saat menggunakan argumen singkat, pastikan untuk menggunakan hanya satu tanda hubung karena itu adalah standar di industri.

Argumen Bersyarat

Argumen bersyarat sangat mudah digunakan sebagai argumen dalam contoh sebelumnya. Satu-satunya perbedaan di segmen ini adalah menentukan parameter tindakan. Ia menerima dua nilai, toko_benar, dan store_false. Jika parameter tindakan ditentukan sebagai store_true, setiap kali argumen flag digunakan dalam program, itu ditetapkan oleh nilai Boolean yang benar; karenanya dapat digunakan sebagai argumen bersyarat. Aplikasi argumen bersyarat adalah untuk membuat aliran logis dari eksekusi berdasarkan input pengguna. Jadi, pengguna memutuskan jalur mana yang ingin mereka ambil, dan bagaimana program mengalir. Perintah yang diurai ada di dalam objek namespace, itu sebabnya ia mengembalikan kata kunci namespace() setelah program dijalankan.

pengurai.add_argument('--bld', action='store_true',
help='argumen bersyarat')

Menentukan Nama Program

Di atas semua contoh tidak menentukan nama program. Alih-alih itu hanya menyatakan nama file skrip bersama dengan daftar argumen yang diterima. Keuntungan menggunakan nama program adalah membuat program lebih ramah pengguna, dan independen dari nama skrip script. Ini cukup berguna jika beberapa file skrip terlibat dengan eksekusi. Jadi, itu tidak akan membingungkan pengguna dengan nama yang ambigu.

Dua baris perintah berikut harus digunakan untuk mewujudkannya. Pada baris pertama itu menentukan nama program dengan parameter prog, sedangkan parameter khusus ini dapat digunakan sebagai variabel di mana nama program digunakan, kemudian ketika program sedang dijalankan, parameter prog diganti dengan nilai yang dinyatakan dalam argumentParser( ) berfungsi bersama dengan parameter prog, yang berarti "Aplikasi Nucuta" dalam contoh ini. Selain itu, penting untuk menggunakan perintah sebagai %(prog)s atau parsing tidak akan berhasil.

pengurai = argparse.ArgumentParser(prog='Aplikasi Nucuta')
pengurai.add_argument('--bld', help='Ini %(prog)s it')

Cara Memeriksa Kondisi dan Membuat Alur Eksekusi

Alur eksekusi didefinisikan dengan klausa IF ELSE. Klausa ini memandu alur eksekusi tergantung pada kondisi, dan sifatnya. Dalam contoh berikut nilai integer yang diketik ditugaskan ke variabel, bld, yang ada di objek arg. Kemudian diperiksa terhadap nilai yang telah ditentukan untuk memeriksa kondisinya. Dalam contoh ini, jika nilai yang dimasukkan lebih besar dari 10, pernyataan pertama dieksekusi, jika nilai yang dimasukkan sama dengan 10, pernyataan kedua dieksekusi, jika nilai yang dimasukkan kurang dari 10, pernyataan terakhir dieksekusi. Demikian juga, alur eksekusi dapat dipandu dengan mudah. Seperti yang digambarkan oleh contoh, argumen dapat diakses melalui objek yang dikembalikan oleh fungsi parse_args() - args.

KESIMPULAN

Dengan panduan ini, Anda siap untuk mulai mem-parsing semua baris perintah dengan python.  Semoga berhasil

5 Kartu Tangkap Game Teratas
Kita semua telah melihat dan menyukai gameplay streaming di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain top yang telah m...
Cara Mengembangkan Game di Linux
Satu dekade yang lalu, tidak banyak pengguna Linux yang memprediksi bahwa sistem operasi favorit mereka suatu hari nanti akan menjadi platform game po...
Port Sumber Terbuka dari Mesin Game Komersial
Rekreasi mesin game gratis, open source, dan lintas platform dapat digunakan untuk bermain lama serta beberapa judul game yang cukup baru. Artikel ini...