IO #
Berikut adalah penjelasan yang lebih mendetail tentang berbagai operasi IO di Python menggunakan pustaka standar:
Operasi File #
Membaca dan Menulis File #
Menulis ke 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
.
Menulis ke File Menggunakan 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 #
Menulis Data ke File 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 #
Menulis Data ke File 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.