Cara menggunakan python sys argv example

Cara menggunakan python sys argv example



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

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tutorial ini menunjukkan cara menjalankan kode Python dalam lingkungan pengembangan AWS Cloud9.

Mengikuti tutorial ini dapat menghasilkan biaya untuk akun AWS Anda. Ini termasuk kemungkinan biaya untuk layanan seperti Amazon Elastic Compute Cloud (Amazon EC2). dan Amazon Simple Storage Service (Amazon S3). Untuk informasi selengkapnya, lihat Harga Amazon EC2dan Harga Amazon S3.

Prasyarat

Sebelum Anda memulai tutorial ini, pastikan untuk memenuhi persyaratan berikut.

  • Anda memiliki lingkungan pengembanganAWS Cloud9 EC2

    tutorial ini mengasumsikan Anda sudah memiliki lingkungan EC2, dan lingkungan tersebut terhubung ke instans Amazon EC2 yang menjalankan Amazon Linux atau Server Ubuntu. Lihat Membuat Lingkungan EC2 untuk detail.

    Jika Anda memiliki jenis lingkungan atau sistem operasi yang berbeda, Anda mungkin perlu menyesuaikan instruksi tutorial ini.

  • Anda telah membukaAWS Cloud9 IDE untuk lingkungan tersebut

    Saat Anda membuka lingkungan, AWS Cloud9 membuka IDE untuk lingkungan itu di peramban web Anda. Lihat Membuka lingkungan di AWS Cloud9 untuk detail.

Langkah 1: Pasang Python

  1. Dalam sesi terminal di AWS Cloud9 IDE, konfirmasikan apakah Python sudah dipasang dengan menjalankan perintah

    sudo apt update
    0 . (Untuk memulai sesi terminal baru, pada bilah menu, pilih Jendela, Terminal Baru.) Jika Python sudah terpasang, lewati ke .

  2. Jalankan perintah

    sudo apt update
    1 untuk (Amazon Linux) atau
    sudo apt update
    2 untuk (Ubuntu Server) untuk membantu memastikan pembaruan keamanan terbaru dan perbaikan bug terpasang.

    Untuk Amazon Linux:

    sudo yum -y update

    Untuk Ubuntu Server:

    sudo apt update
  3. Pasang Python dengan menjalankan perintah

    sudo apt update
    3 .

    Untuk Amazon Linux:

    sudo yum -y install python3

    Untuk Ubuntu Server:

    sudo apt-get install python3

Langkah 2: Menambahkan kode

Di AWS Cloud9 IDE, buat file dengan kode berikut dan simpan file dengan nama

sudo apt update
4. (Untuk membuat file, pada bilah menu, pilih File, File Baru. Untuk menyimpan file, pilih File, Simpan.)

import sys

print('Hello, World!')

print('The sum of 2 and 3 is 5.')

sum = int(sys.argv[1]) + int(sys.argv[2])

print('The sum of {0} and {1} is {2}.'.format(sys.argv[1], sys.argv[2], sum))

Langkah 3: Jalankan kode

  1. Di AWS Cloud9 IDE, pada bilah menu, pilih Jalankan, Jalankan Konfigurasi, Jalankan Konfigurasi Baru.

  2. Pada tab [Baru] - Berhenti, masukkan

    sudo apt update
    5 untuk Perintah. Dalam kode,
    sudo apt update
    6 mewakili
    sudo apt update
    7, dan
    sudo apt update
    8 mewakili
    sudo apt update
    9.

  3. Pilih Jalankan, dan bandingkan output Anda.

    Hello, World!
    The sum of 2 and 3 is 5.
    The sum of 5 and 9 is 14.
  4. Secara default, AWS Cloud9 secara otomatis memilih runner untuk kode Anda. Untuk mengubah runner, pilih Runner, lalu pilih Python 2 atau Python 3.

    Anda dapat membuat runner kustom untuk versi tertentu dari Python. Untuk detailnya, lihat .

Langkah 4: Pasang dan konfigurasikan AWS SDK for Python (Boto3)

AWS SDK for Python (Boto3) memungkinkan Anda menggunakan kode Python untuk berinteraksi dengan layanan AWS seperti Amazon S3. Misalnya, Anda dapat menggunakan SDK untuk membuat bucket Amazon S3, membuat daftar bucket Anda yang tersedia, lalu menghapus bucket yang baru saja Anda buat.

Memasang PIP

Di AWS Cloud9 IDE, konfirmasikan apakah

sudo yum -y install python3
0 sudah terpasang untuk versi aktif Python dengan menjalankan perintah
sudo yum -y install python3
1 . Jika
sudo yum -y install python3
0 terpasang, lewati ke bagian berikutnya.

Untuk memasang

sudo yum -y install python3
0, jalankan perintah berikut. Karena sudo berada di lingkungan yang berbeda dari pengguna Anda, Anda harus menentukan versi Python yang akan digunakan jika berbeda dari versi alias saat ini.

curl -O https://bootstrap.pypa.io/get-pip.py # Get the install script.
sudo python3 get-pip.py                     # Install pip for Python 3.
python -m pip --version                      # Verify pip is installed.
rm get-pip.py                                # Delete the install script.

Untuk informasi selengkapnya, lihat Pemasangandi situs web

sudo yum -y install python3
0.

Memasang AWS SDK for Python (Boto3)

Setelah Anda memasang

sudo yum -y install python3
0, pasang AWS SDK for Python (Boto3) dengan menjalankan perintah
sudo yum -y install python3
6 .

sudo python3 -m pip install boto3  # Install boto3 for Python 3.
python -m pip show boto3            # Verify boto3 is installed for the current version of Python.

Untuk informasi selengkapnya, lihat bagian “Instalasi" dalam panduaniniAWS SDK for Python (Boto3):

Mengatur kredensial di lingkungan Anda

Setiap kali Anda menggunakan AWS SDK for Python (Boto3) untuk memanggil layanan AWS, Anda harus menyediakan satu set kredensial dengan panggilan tersebut. Kredensial ini menentukan apakah SDK memiliki izin yang diperlukan untuk melakukan panggilan. Jika kredensial tidak mencakup izin yang diperlukan, panggilan gagal.

Untuk menyimpan kredensial Anda di dalam lingkungan, ikuti petunjuk di Memanggil layanan AWS dari lingkungan di AWS Cloud9, lalu kembali ke topik ini.

Untuk informasi selengkapnya, lihat Kredensialdi AWS SDK for Python (Boto3).

Langkah 5: Menambahkan kode AWS SDK

Tambahkan kode yang menggunakan Amazon S3 untuk membuat bucket, mencantumkan bucket Anda yang tersedia, dan secara opsional menghapus bucket yang baru saja Anda buat.

Di AWS Cloud9 IDE, buat file dengan kode berikut dan simpan file dengan nama

sudo yum -y install python3
7.

import sys
import boto3
from botocore.exceptions import ClientError


def list_my_buckets(s3_resource):
    print('Buckets:\n\t', *[b.name for b in s3_resource.buckets.all()], sep="\n\t")


def create_and_delete_my_bucket(s3_resource, bucket_name, keep_bucket):
    list_my_buckets(s3_resource)

    try:
        print('\nCreating new bucket:', bucket_name)
        bucket = s3_resource.create_bucket(
            Bucket=bucket_name,
            CreateBucketConfiguration={
                'LocationConstraint': s3_resource.meta.client.meta.region_name
            }
        )
    except ClientError as e:
        print(f"Couldn't create a bucket for the demo. Here's why: "
              f"{e.response['Error']['Message']}")
        raise

    bucket.wait_until_exists()
    list_my_buckets(s3_resource)

    if not keep_bucket:
        print('\nDeleting bucket:', bucket.name)
        bucket.delete()

        bucket.wait_until_not_exists()
        list_my_buckets(s3_resource)
    else:
        print('\nKeeping bucket:', bucket.name)


def main():
    import argparse

    parser = argparse.ArgumentParser()
    parser.add_argument('bucket_name', help='The name of the bucket to create.')
    parser.add_argument('region', help='The region in which to create your bucket.')
    parser.add_argument('--keep_bucket', help='Keeps the created bucket. When not '
                                              'specified, the bucket is deleted '
                                              'at the end of the demo.',
                        action='store_true')

    args = parser.parse_args()
    s3_resource = (
        boto3.resource('s3', region_name=args.region) if args.region
        else boto3.resource('s3'))
    try:
        create_and_delete_my_bucket(s3_resource, args.bucket_name, args.keep_bucket)
    except ClientError:
        print('Exiting the demo.')


if __name__ == '__main__':
    main()

Langkah 6: Jalankan kode AWS SDK

  1. Pada bilah menu, pilih Jalankan, Jalankan Konfigurasi, Jalankan Konfigurasi Baru.

  2. Untuk Perintah, masukkan

    sudo yum -y install python3
    8, di mana
    sudo yum -y install python3
    9 adalah nama bucket untuk dibuat, dan
    sudo apt-get install python3
    0 adalah ID dari Wilayah AWS tempat bucket Anda dibuat. Secara default, bucket Anda dihapus sebelum skrip keluar. Untuk menyimpan bucket Anda, tambahkan
    sudo apt-get install python3
    1 ke perintah Anda. Untuk daftar ID Wilayah AWS, lihat Titik Akhir Layanan dan Kuota Amazon Simple Storage Service di Referensi Umum AWS.

    Nama bucket Amazon S3 harus unik di seluruh AWS—bukan hanya akun AWS Anda.

  3. Pilih Jalankan, dan bandingkan output Anda.

    
    Buckets:
    
            a-pre-existing-bucket
    
    Creating new bucket: my-test-bucket
    Buckets:
    
            a-pre-existing-bucket
            my-test-bucket
    
    Deleting bucket: my-test-bucket
    Buckets:
    
            a-pre-existing-bucket
                

Langkah 7: Membersihkan

Untuk mencegah tagihan berkelanjutan ke akun AWS Anda setelah Anda selesai dengan tutorial ini, hapus lingkungan AWS Cloud9. Untuk instruksi, lihat Menghapus lingkungan di AWS Cloud9.