Menggunakan System Argument dari Command Line



Bila Anda menjalankan program dari command prompt dan ingin mengirimkan parameter kepada program tersebut, jangan khawatir, Python dapat melakukan itu.

Gunakan modul sys dari Python, lalu untuk menangkap input parameter dari command prompt gunakan variable sys.argv[1]

Untuk lebih jelasnya langsung lihat contoh program dibawah. Program ini akan mendownload text file berdasarkan url yang di input lalu menampilkannya sebagai text.

Program ini juga menggunakan variable khusus dari python  __name__  untuk mengecek apakah program dijalankan dari REPL atau dari command prompt. Dengan cara memeriksa dengan blok if  __name__ == '__main__'


import sys
from urllib.request import urlopen


def fetch_word(url):
    with urlopen(url) as story:
        story_words = []
        for line in story:
            line_words = line.decode('utf-8').split()
            for words in line_words:
                story_words.append(words)
    return story_words


def print_items(items):
    for item in items:
        print(item)


def main(url):
    words = fetch_word(url)
    print_items(words)


if __name__ == '__main__':
    main(sys.argv[1])


Misalkan program diatas kita beri nama words.py. Karena program memanfaatkan modul sys.argv, kita bisa menjalankan program dari command prompt seperti ini:

python words.py https://www.w3.org/TR/PNG/iso_8859-1.txt

Atau dari REPL dengan cara import words.py sebagai modul. Perhatikan saat import kita tidak menggunakan ekstension .py


>>> from words import *
>>> main('https://www.w3.org/TR/PNG/iso_8859-1.txt')

Pada tutorial ini, kita lihat cara import yang baru, perintah import semua fungsi dari satu modul

from modul_name import *

Sementara pada program diatas, kita lihat cara import yang mirip juga, namun hanya modul tertentu

from urllib.request import urlopen

Bila Anda tertarik lebih dalam mengenai command line processing, dapat silakan pelajari standar library argparse dari python, atau mungkin bisa menggunakan library third-party seperti docopt
Menggunakan System Argument dari Command Line Menggunakan System Argument dari Command Line Reviewed by noname needed on June 14, 2018 Rating: 5

No comments:

Powered by Blogger.