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 //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('//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 update0 . (Untuk memulai sesi terminal baru, pada bilah menu, pilih Jendela, Terminal Baru.) Jika Python sudah terpasang, lewati ke .

  2. Jalankan perintah sudo apt update1 untuk (Amazon Linux) atau sudo apt update2 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 update3 .

    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 update4. (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 update5 untuk Perintah. Dalam kode, sudo apt update6 mewakili sudo apt update7, dan sudo apt update8 mewakili sudo apt update9.

  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 python30 sudah terpasang untuk versi aktif Python dengan menjalankan perintah sudo yum -y install python31 . Jika sudo yum -y install python30 terpasang, lewati ke bagian berikutnya.

Untuk memasang sudo yum -y install python30, 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 //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 python30.

Memasang AWS SDK for Python (Boto3)

Setelah Anda memasang sudo yum -y install python30, pasang AWS SDK for Python (Boto3) dengan menjalankan perintah sudo yum -y install python36 .

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 python37.

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 python38, di mana sudo yum -y install python39 adalah nama bucket untuk dibuat, dan sudo apt-get install python30 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 python31 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.

Postingan terbaru

LIHAT SEMUA