Python Input/Output (I/O)

 

1. Input dari User

Mengambil input dari pengguna menggunakan fungsi input().

Contoh:

python
nama = input("Masukkan nama Anda: ") umur = int(input("Masukkan umur Anda: ")) print(f"Halo {nama}, Anda berumur {umur} tahun.")

2. Penggunaan sys Module

Module sys memberikan akses ke beberapa variabel dan fungsi yang berinteraksi dengan interpreter Python.

Contoh:

python
import sys print("Nama script:", sys.argv[0]) print("Argumen:") for arg in sys.argv[1:]: print(arg)

Contoh:

python
import sys

# Membaca input dari baris perintah
if len(sys.argv) > 1:
    print(f"Arguments: {sys.argv[1:]}")
else:
    print("No arguments provided.")

3. Penggunaan argparse Library

argparse digunakan untuk parsing argumen command-line.

Contoh:

python
import argparse parser = argparse.ArgumentParser(description="Program untuk menghitung luas persegi panjang") parser.add_argument("panjang", type=float, help="Panjang persegi panjang") parser.add_argument("lebar", type=float, help="Lebar persegi panjang") parser.add_argument("--satuan", choices=["m", "cm"], default="m", help="Satuan ukuran (default: m)") args = parser.parse_args() luas = args.panjang * args.lebar print(f"Luas persegi panjang: {luas} {args.satuan}²")

Contoh:

python
import argparse

parser = argparse.ArgumentParser(description="A simple argument parser")
parser.add_argument("name", type=str, help="Your name")
args = parser.parse_args()

print(f"Hello, {args.name}!")

4. Bekerja dengan File: Membuat, Membaca, Menulis

Membuat(Creating) dan Menulis(Writing) ke File:

Python menyediakan fungsi open() untuk operasi file dasar.

Contoh:

python
# Menulis file with open("data.txt", "w") as f: f.write("Hello, World!") # Membaca file with open("data.txt", "r") as f: content = f.read() print(content) # Menambahkan ke file with open("data.txt", "a") as f: f.write("\nTambahan baris baru")

Implementasi: Digunakan untuk logging, menyimpan konfigurasi, atau memproses data dalam format teks.

5. Cara Lain Membaca Data dari File

Menggunakan readlines(), readline(), atau membaca dalam blok.

Menggunakan readlines():

python
with open('example.txt', 'r') as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

Menggunakan readline():

python
with open('example.txt', 'r') as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()


Contoh:

python
# Membaca baris per baris with open("data.txt", "r") as f: for line in f: print(line.strip()) # Membaca semua baris sekaligus with open("data.txt", "r") as f: lines = f.readlines() print(lines)

Implementasi: Berguna untuk memproses file log besar atau dataset dalam format CSV.

6. Pencarian dan Editing File

Membaca file, memodifikasi isinya, dan menulis kembali.

Contoh:

python
# Membaca konten file
with open('example.txt', 'r') as file:
    lines = file.readlines()

# Mengedit konten
modified_lines = [line.replace("world", "Python") for line in lines]

# Menulis kembali ke file
with open('example.txt', 'w') as file:
    file.writelines(modified_lines)

Untuk pencarian file, kita bisa menggunakan module os dan glob. Untuk editing, kita bisa membaca file, memodifikasi kontennya, lalu menulisnya kembali.

Contoh:

python
import os import glob # Mencari file for file in glob.glob("*.txt"): print(file) # Editing file with open("data.txt", "r") as f: content = f.read() modified_content = content.replace("Hello", "Hi") with open("data.txt", "w") as f: f.write(modified_content)

Implementasi: Berguna untuk batch processing file, seperti mengubah format data atau mengganti string tertentu dalam banyak file.


7. Bekerja dengan File dan Direktori

Menggunakan os dan shutil untuk operasi file dan direktori.

Baik, saya akan menjelaskan topik-topik tersebut beserta contoh implementasinya dalam pekerjaan sehari-hari di industri:

  1. Input/Output dan Input dari User:

Python menyediakan fungsi input() untuk menerima input dari user dan fungsi print() untuk menampilkan output.

Contoh:

python
nama = input("Masukkan nama Anda: ") print(f"Halo, {nama}!")

Implementasi: Dalam industri, ini bisa digunakan untuk membuat form sederhana atau interface command-line untuk aplikasi.

  1. Penggunaan sys module:

Module sys menyediakan akses ke beberapa variabel dan fungsi yang digunakan atau dikelola oleh interpreter Python.

Contoh:

python
import sys print(f"Argumen command line: {sys.argv}") print(f"Python version: {sys.version}")

Implementasi: Digunakan untuk membuat script yang dapat menerima argumen command line atau untuk memeriksa versi Python yang digunakan.

  1. Penggunaan argparse library:

Argparse memudahkan pembuatan interface command-line yang user-friendly.

Contoh:

python
import argparse parser = argparse.ArgumentParser(description="Kalkulator sederhana") parser.add_argument("x", type=int, help="Angka pertama") parser.add_argument("y", type=int, help="Angka kedua") parser.add_argument("--operasi", choices=["tambah", "kurang"], default="tambah", help="Operasi aritmetika") args = parser.parse_args() if args.operasi == "tambah": result = args.x + args.y else: result = args.x - args.y print(f"Hasil: {result}")

Implementasi: Berguna untuk membuat tools command-line yang kompleks, seperti data processing scripts atau automation tools.

  1. Bekerja dengan File (Creating, Reading, Writing):

Python menyediakan fungsi open() untuk operasi file.

Contoh:

python
# Menulis file with open("data.txt", "w") as f: f.write("Hello, World!") # Membaca file with open("data.txt", "r") as f: content = f.read() print(content) # Menambahkan ke file with open("data.txt", "a") as f: f.write("\nTambahan baris baru")

Implementasi: Digunakan untuk logging, menyimpan konfigurasi, atau memproses data dalam format teks.

  1. Jalan Lain Reading Data dari Files:

Python menyediakan beberapa metode untuk membaca file, seperti readlines() atau menggunakan file sebagai iterator.

Contoh:

python
# Membaca baris per baris with open("data.txt", "r") as f: for line in f: print(line.strip()) # Membaca semua baris sekaligus with open("data.txt", "r") as f: lines = f.readlines() print(lines)

Implementasi: Berguna untuk memproses file log besar atau dataset dalam format CSV.

  1. Pencarian File & Editing Files:

Untuk pencarian file, kita bisa menggunakan module os dan glob. Untuk editing, kita bisa membaca file, memodifikasi kontennya, lalu menulisnya kembali.

Contoh:

python
import os import glob # Mencari file for file in glob.glob("*.txt"): print(file) # Editing file with open("data.txt", "r") as f: content = f.read() modified_content = content.replace("Hello", "Hi") with open("data.txt", "w") as f: f.write(modified_content)

Implementasi: Berguna untuk batch processing file, seperti mengubah format data atau mengganti string tertentu dalam banyak file.

  1. Bekerja dengan Files dan Direktori:

Module os dan shutil menyediakan fungsi untuk operasi file dan direktori.

Contoh:

python
import os import shutil # Membuat direktori os.mkdir("new_folder") # Memindahkan file shutil.move("data.txt", "new_folder/data.txt") # Menghapus file os.remove("old_file.txt") # Menghapus direktori dan isinya shutil.rmtree("old_folder")

atau penjelasan lainnya

Membuat Direktori:

python
import os

os.mkdir('new_directory')

Mengecek Eksistensi File/Direktori:

python
if os.path.exists('example.txt'):
    print("File exists.")
else:
    print("File does not exist.")

Menghapus File:

python
os.remove('example.txt')

Menyalin File:

python
import shutil

shutil.copy('source.txt', 'destination.txt')

Implementasi: Berguna untuk manajemen file otomatis, seperti mengorganisir file berdasarkan tanggal atau tipe, atau membersihkan file temporary.

Implementasi dalam Pekerjaan Sehari-hari (Industri)

1. Mengambil Input dari Pengguna untuk Konfigurasi Aplikasi yang memerlukan konfigurasi dinamis dapat mengambil input pengguna untuk berbagai pengaturan.

2. Menggunakan argparse untuk CLI Tools Tools baris perintah yang menerima berbagai argumen untuk mengatur perilaku aplikasi.

3. Bekerja dengan File Log Membaca, menulis, dan mengelola file log untuk aplikasi monitoring.

Contoh: CLI untuk Membaca dan Mengedit File Konfigurasi

python
import argparse
import os

def read_config(file_path):
    with open(file_path, 'r') as file:
        return file.read()

def write_config(file_path, content):
    with open(file_path, 'w') as file:
        file.write(content)

def main():
    parser = argparse.ArgumentParser(description="Read and write configuration files")
    parser.add_argument("filepath", type=str, help="Path to the configuration file")
    parser.add_argument("--read", action="store_true", help="Read the file")
    parser.add_argument("--write", type=str, help="Content to write to the file")

    args = parser.parse_args()

    if args.read:
        if os.path.exists(args.filepath):
            content = read_config(args.filepath)
            print(f"File content:\n{content}")
        else:
            print("File does not exist.")
    elif args.write:
        write_config(args.filepath, args.write)
        print(f"Content written to {args.filepath}")

if __name__ == "__main__":
    main()

4. Automasi Proses Data Membaca data dari berbagai format file, memproses, dan menyimpan hasilnya.

5. Manajemen File di Server Menggunakan script untuk backup file, membersihkan direktori, dan manajemen ruang penyimpanan.

Contoh: Backup File

python
import shutil
import os
from datetime import datetime

def backup_file(src, dest_dir):
    if os.path.exists(src):
        dest = os.path.join(dest_dir, f"{datetime.now().strftime('%Y%m%d_%H%M%S')}_{os.path.basename(src)}")
        shutil.copy(src, dest)
        print(f"Backup created: {dest}")
    else:
        print(f"Source file {src} does not exist.")

backup_file('important_data.txt', 'backup/')


---------------------------------------------------------------------------------------------------------------

Bekerja dengan Files dan Direktori:

Dalam Python, kita dapat menggunakan modul 'os' dan 'shutil' untuk melakukan berbagai operasi pada file dan direktori. Berikut adalah penjelasan lebih rinci beserta contoh implementasi:

  1. Mendapatkan direktori kerja saat ini:
python
import os current_dir = os.getcwd() print(f"Direktori kerja saat ini: {current_dir}")
  1. Membuat direktori baru:
python
os.mkdir("new_folder") print("Direktori baru telah dibuat.")
  1. Membuat direktori beserta sub-direktorinya:
python
os.makedirs("parent/child/grandchild") print("Struktur direktori telah dibuat.")
  1. Mengganti nama file atau direktori:
python
os.rename("old_name.txt", "new_name.txt") print("File telah diganti namanya.")
  1. Memindahkan file:
python
import shutil shutil.move("source.txt", "destination/source.txt") print("File telah dipindahkan.")
  1. Menyalin file:
python
shutil.copy("original.txt", "copy.txt") print("File telah disalin.")
  1. Menghapus file:
python
os.remove("file_to_delete.txt") print("File telah dihapus.")
  1. Menghapus direktori kosong:
python
os.rmdir("empty_folder") print("Direktori kosong telah dihapus.")
  1. Menghapus direktori beserta isinya:
python
shutil.rmtree("folder_with_contents") print("Direktori dan isinya telah dihapus.")
  1. Mendapatkan daftar file dalam direktori:
python
file_list = os.listdir(".") print("Daftar file dalam direktori ini:") for file in file_list: print(file)
  1. Memeriksa apakah path adalah file atau direktori:
python
path = "example.txt" if os.path.isfile(path): print(f"{path} adalah sebuah file.") elif os.path.isdir(path): print(f"{path} adalah sebuah direktori.")

Implementasi dalam industri:

  1. Sistem Manajemen Dokumen: Misalnya, kita bisa membuat script untuk mengorganisir file-file berdasarkan tanggal modifikasi:
python
import os import shutil from datetime import datetime def organize_files(source_dir): for filename in os.listdir(source_dir): if os.path.isfile(os.path.join(source_dir, filename)): # Mendapatkan tanggal modifikasi file timestamp = os.path.getmtime(os.path.join(source_dir, filename)) date = datetime.fromtimestamp(timestamp) # Membuat folder berdasarkan tahun dan bulan destination_dir = os.path.join(source_dir, f"{date.year}", f"{date.month:02d}") os.makedirs(destination_dir, exist_ok=True) # Memindahkan file shutil.move(os.path.join(source_dir, filename), os.path.join(destination_dir, filename)) print("File telah diorganisir berdasarkan tanggal modifikasi.") organize_files("/path/to/documents")
  1. Backup Otomatis: Kita bisa membuat script untuk melakukan backup otomatis dari satu direktori ke direktori lain:
python
import os import shutil import datetime def backup_files(source_dir, backup_dir): # Membuat nama folder backup dengan timestamp timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S") backup_path = os.path.join(backup_dir, f"backup_{timestamp}") # Menyalin seluruh isi direktori sumber ke direktori backup shutil.copytree(source_dir, backup_path) print(f"Backup selesai. Files disalin ke: {backup_path}") backup_files("/path/to/important/files", "/path/to/backup/location")
  1. Pembersihan Log: Script untuk menghapus file log yang lebih tua dari 30 hari:
python
import os import time def clean_old_logs(log_dir, days=30): current_time = time.time() for filename in os.listdir(log_dir): file_path = os.path.join(log_dir, filename) if os.path.isfile(file_path): if os.stat(file_path).st_mtime < current_time - (days * 86400): os.remove(file_path) print(f"Menghapus file log lama: {filename}") clean_old_logs("/path/to/log/directory")

Semua contoh di atas menunjukkan bagaimana operasi file dan direktori dapat digunakan untuk mengotomatisasi tugas-tugas umum dalam lingkungan industri. Dengan menggunakan script-script seperti ini, perusahaan dapat meningkatkan efisiensi, mengurangi kesalahan manusia, dan menghemat waktu dalam mengelola file dan direktori

Comments

Popular posts from this blog

create image slider using phyton in web

Tahukah kamu Algoritma Genetika dan Penerapannya dalam Industri

create animated futuristic profile card using html+css+js

CRUD SPRING REACTIVE WEBFLUX +Mongo DB

Top 7 Digital Transformation Companies

100 perusahaan perangkat lunak (software) populer dari Eropa dan Amerika yang memiliki kehadiran atau operasional di Indonesia.

TOP 8 Framework Populer menggunakan bahasa .NET

Python Date and Time Manipulation

TOP 5 Trends Programming 2024

Daftar Kata Kunci (Keyword) dalam Bahasa Pemrograman Python