Python Input/Output (I/O)
1. Input dari User
Mengambil input dari pengguna menggunakan fungsi input()
.
Contoh:
pythonnama = 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:
pythonimport sys print("Nama script:", sys.argv[0]) print("Argumen:") for arg in sys.argv[1:]: print(arg)
Contoh:
pythonimport sys# Membaca input dari baris perintahif 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:
pythonimport 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:
pythonimport argparseparser = 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()
:
pythonwith 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:
Untuk pencarian file, kita bisa menggunakan module os dan glob. Untuk editing, kita bisa membaca file, memodifikasi kontennya, lalu menulisnya kembali.
Contoh:
pythonimport 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:
- Input/Output dan Input dari User:
Python menyediakan fungsi input() untuk menerima input dari user dan fungsi print() untuk menampilkan output.
Contoh:
pythonnama = input("Masukkan nama Anda: ") print(f"Halo, {nama}!")
Implementasi: Dalam industri, ini bisa digunakan untuk membuat form sederhana atau interface command-line untuk aplikasi.
- Penggunaan sys module:
Module sys menyediakan akses ke beberapa variabel dan fungsi yang digunakan atau dikelola oleh interpreter Python.
Contoh:
pythonimport 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.
- Penggunaan argparse library:
Argparse memudahkan pembuatan interface command-line yang user-friendly.
Contoh:
pythonimport 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.
- 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.
- 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.
- 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:
pythonimport 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.
- Bekerja dengan Files dan Direktori:
Module os dan shutil menyediakan fungsi untuk operasi file dan direktori.
Contoh:
pythonimport 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 osos.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:
pythonimport shutilshutil.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
pythonimport argparseimport osdef 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
---------------------------------------------------------------------------------------------------------------
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:
- Mendapatkan direktori kerja saat ini:
pythonimport os current_dir = os.getcwd() print(f"Direktori kerja saat ini: {current_dir}")
- Membuat direktori baru:
pythonos.mkdir("new_folder") print("Direktori baru telah dibuat.")
- Membuat direktori beserta sub-direktorinya:
pythonos.makedirs("parent/child/grandchild") print("Struktur direktori telah dibuat.")
- Mengganti nama file atau direktori:
pythonos.rename("old_name.txt", "new_name.txt") print("File telah diganti namanya.")
- Memindahkan file:
pythonimport shutil shutil.move("source.txt", "destination/source.txt") print("File telah dipindahkan.")
- Menyalin file:
pythonshutil.copy("original.txt", "copy.txt") print("File telah disalin.")
- Menghapus file:
pythonos.remove("file_to_delete.txt") print("File telah dihapus.")
- Menghapus direktori kosong:
pythonos.rmdir("empty_folder") print("Direktori kosong telah dihapus.")
- Menghapus direktori beserta isinya:
pythonshutil.rmtree("folder_with_contents") print("Direktori dan isinya telah dihapus.")
- Mendapatkan daftar file dalam direktori:
pythonfile_list = os.listdir(".") print("Daftar file dalam direktori ini:") for file in file_list: print(file)
- Memeriksa apakah path adalah file atau direktori:
pythonpath = "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:
- Sistem Manajemen Dokumen: Misalnya, kita bisa membuat script untuk mengorganisir file-file berdasarkan tanggal modifikasi:
pythonimport 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")
- Backup Otomatis: Kita bisa membuat script untuk melakukan backup otomatis dari satu direktori ke direktori lain:
pythonimport 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")
- Pembersihan Log: Script untuk menghapus file log yang lebih tua dari 30 hari:
pythonimport 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
Post a Comment