unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
IO

IO #

Berikut adalah penjelasan yang lebih mendetail tentang berbagai operasi IO di Python menggunakan pustaka standar:

Operasi File #

Membaca dan Menulis File #

Untuk menulis ke file, Anda bisa menggunakan mode 'w' yang membuka file untuk penulisan. Jika file tidak ada, file akan dibuat; jika file ada, isinya akan ditimpa.

with open('example.txt', 'w') as file:
    file.write('Hello, world!')

Kode di atas akan membuka file example.txt untuk penulisan dan menulis string Hello, world! ke dalam file.

Membaca dari File #

Untuk membaca isi file, Anda bisa menggunakan mode 'r' yang membuka file untuk pembacaan.

with open('example.txt', 'r') as file:
    content = file.read()
    print(content)  # Output: "Hello, world!"

Kode di atas akan membuka file example.txt dan membaca seluruh isinya ke dalam variabel content, kemudian mencetak isinya.

Membaca File Baris per Baris #

Kadang-kadang Anda mungkin ingin membaca file baris per baris. Anda bisa melakukannya dengan iterasi langsung pada objek file.

with open('example.txt', 'r') as file:
    for line in file:
        print(line.strip())  # Output: "Hello, world!"

Kode di atas akan membaca file example.txt baris per baris dan mencetak setiap baris setelah menghapus karakter newline di akhir.

Modul os #

Manipulasi File dan Direktori #

Membuat Direktori Baru #

import os
os.mkdir('new_directory')

Kode di atas akan membuat direktori baru bernama new_directory.

Mengubah Nama File atau Direktori #

import os
os.rename('example.txt', 'new_example.txt')

Kode di atas akan mengubah nama file example.txt menjadi new_example.txt.

Menghapus File #

import os
os.remove('new_example.txt')

Kode di atas akan menghapus file new_example.txt.

Menghapus Direktori #

import os
os.rmdir('new_directory')

Kode di atas akan menghapus direktori new_directory. Perhatikan bahwa os.rmdir() hanya dapat menghapus direktori yang kosong.

Mendapatkan Daftar File dalam Direktori #

import os
files = os.listdir('.')
print(files)

Kode di atas akan mencetak daftar semua file dan direktori dalam direktori saat ini (.).

Modul shutil #

Operasi File dan Direktori Tingkat Tinggi #

Menyalin File #

import shutil
shutil.copy('example.txt', 'copy_example.txt')

Kode di atas akan menyalin file example.txt ke file baru bernama copy_example.txt.

Menyalin Direktori #

import shutil
shutil.copytree('source_directory', 'destination_directory')

Kode di atas akan menyalin seluruh isi direktori source_directory ke destination_directory.

Menghapus Direktori Beserta Isinya #

import shutil
shutil.rmtree('destination_directory')

Kode di atas akan menghapus direktori destination_directory beserta seluruh isinya.

Modul pathlib #

Manipulasi Path secara Obyek-Oriented #

Membuat Obyek Path #

from pathlib import Path
p = Path('example.txt')

Kode di atas akan membuat objek Path yang mewakili path example.txt.

Mengecek Apakah File Ada #

print(p.exists())  # Output: True atau False

Kode di atas akan mengembalikan True jika file example.txt ada, dan False jika tidak.

Membaca File Menggunakan Path #

content = p.read_text()
print(content)

Kode di atas akan membaca isi file example.txt menggunakan metode read_text() dari objek Path.

p.write_text('New content')

Kode di atas akan menulis string New content ke dalam file example.txt.

Modul tempfile #

Membuat File dan Direktori Sementara #

Membuat File Sementara #

import tempfile
with tempfile.TemporaryFile() as temp_file:
    temp_file.write(b'Hello, world!')
    temp_file.seek(0)
    print(temp_file.read())  # Output: b'Hello, world!'

Kode di atas akan membuat file sementara, menulis string Hello, world! dalam bentuk byte ke dalamnya, mengembalikan pointer file ke awal, dan kemudian membaca isi file.

Membuat Direktori Sementara #

import tempfile
with tempfile.TemporaryDirectory() as temp_dir:
    print(temp_dir)  # Output: Path ke direktori sementara

Kode di atas akan membuat direktori sementara dan mencetak path ke direktori tersebut.

Modul json #

Membaca dan Menulis JSON #

import json
data = {'name': 'Alice', 'age': 25}
with open('data.json', 'w') as json_file:
    json.dump(data, json_file)

Kode di atas akan menulis dictionary data ke file data.json dalam format JSON.

Membaca Data dari File JSON #

import json
with open('data.json', 'r') as json_file:
    data = json.load(json_file)
    print(data)  # Output: {'name': 'Alice', 'age': 25}

Kode di atas akan membaca data dari file data.json dan mengembalikan isi file sebagai dictionary.

Modul csv #

Membaca dan Menulis CSV #

import csv
data = [['name', 'age'], ['Alice', 25], ['Bob', 30]]
with open('data.csv', 'w', newline='') as csv_file:
    writer = csv.writer(csv_file)
    writer.writerows(data)

Kode di atas akan menulis list data ke file data.csv dalam format CSV.

Membaca Data dari File CSV #

import csv
with open('data.csv', 'r') as csv_file:
    reader = csv.reader(csv_file)
    for row in reader:
        print(row)  # Output: ['name', 'age'], ['Alice', 25], ['Bob', 30]

Kode di atas akan membaca data dari file data.csv dan mencetak setiap baris sebagai list.

Modul io #

Menggunakan io untuk Operasi IO yang Lebih Tingkat Lanjut #

Membuat Obyek StringIO untuk Operasi IO Berbasis String #

import io
s = io.StringIO()
s.write('Hello, world!')
print(s.getvalue())  # Output: "Hello, world!"

Kode di atas akan membuat obyek StringIO, menulis string Hello, world! ke dalamnya, dan mencetak isi obyek tersebut.

Membuat Obyek BytesIO untuk Operasi IO Berbasis Byte #

import io
b = io.BytesIO()
b.write(b'Hello, world!')
print(b.getvalue())  # Output: b'Hello, world!'

Kode di atas akan membuat obyek BytesIO, menulis byte Hello, world! ke dalamnya, dan mencetak isi obyek tersebut.

Dengan penjelasan ini, Anda memiliki pemahaman yang lebih mendetail tentang berbagai operasi IO di Python menggunakan pustaka standar. Pustaka standar Python menyediakan alat yang sangat kuat dan fleksibel untuk menangani berbagai kebutuhan IO Anda.