Python Academy · Pelajaran

Menggunakan Pernyataan with untuk File

Pastikan file ditutup secara otomatis menggunakan pengelola konteks.

Pelajaran 3 dari 414 langkah

Menggunakan Pernyataan with untuk File adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Pendahuluan

Pernyataan with memastikan berkas ditutup secara otomatis, bahkan jika terjadi pengecualian.

Pernyataan with

with open('file.txt') as f: ... secara otomatis menutup f saat blok berakhir, baik secara normal maupun karena pengecualian.
# with open('data.txt') as f:
#     content = f.read()
# f is now closed
print('with demo')

Mengapa with Lebih Baik daripada try/finally

Tanpa with, Anda harus menulis try: ... finally: f.close() untuk menjamin penutupan. with menanganinya secara otomatis.
# Equivalent to:
# f = open('file.txt')
# try:
#     content = f.read()
# finally:
#     f.close()
print('comparison demo')

Beberapa Berkas

with open('a.txt') as a, open('b.txt') as b: membuka dua berkas dalam satu pernyataan.
# with open('in.txt') as src, open('out.txt','w') as dst:
#     for line in src:
#         dst.write(line.upper())
print('multi-file demo')

Protokol Pengelola Konteks

with menggunakan __enter__ dan __exit__. open() mengembalikan objek berkas yang menerapkan keduanya. Nanti kita akan menulis pengelola sendiri.
# f.__enter__() opens
# f.__exit__() closes
print('protocol demo')

Membaca dan Memproses

Gabungkan with, for line in f:, dan .strip() untuk memproses baris dengan rapi: hapus baris baru dan lewati baris kosong.
lines = ['  hello  \n', '  world  \n']
cleaned = [l.strip() for l in lines if l.strip()]
print(cleaned)

Menulis dengan with

with open('out.txt','w') as f: f.write('data') — berkas dikosongkan penyangganya dan ditutup saat keluar dari blok.
# with open('out.txt', 'w') as f:
#     for i in range(10):
#         f.write(f'{i}\n')
print('write with demo')

Memeriksa Keberadaan Berkas

import os; os.path.exists('file.txt') mengembalikan True jika berkas tersebut ada. Ini mencegah FileNotFoundError.
import os
print(os.path.exists('/tmp'))
print(os.path.exists('/nonexistent'))

Kesalahan open()

FileNotFoundError: berkas tidak ada. PermissionError: tidak memiliki hak membaca atau menulis. Bungkus dengan try/except agar penanganannya tangguh.
try:
    with open('/nonexistent.txt') as f:
        pass
except FileNotFoundError as e:
    print('File not found:', e)

StringIO untuk Berkas dalam Memori

from io import StringIO memungkinkan Anda menggunakan string sebagai objek berkas — sangat baik untuk menguji kode pemrosesan berkas.
from io import StringIO
buf = StringIO('line1\nline2\n')
for line in buf:
    print(line.rstrip())

Modul tempfile

tempfile.NamedTemporaryFile() membuat berkas sementara yang dihapus saat ditutup. Aman untuk pemrosesan data sementara.
import tempfile
with tempfile.NamedTemporaryFile(mode='w', suffix='.txt', delete=True) as f:
    f.write('temp data')
    print(f.name)

Pemeriksaan Singkat

Apa yang dijamin oleh pernyataan with saat digunakan bersama operasi berkas?

Ringkasan

with open(f) as h: secara otomatis menutup h. Gunakan beberapa target untuk beberapa berkas. Gunakan StringIO untuk pengujian dalam memori. Tangani FileNotFoundError dengan baik.

Lanjutkan

Kerja bagus! Lanjutkan ke pelajaran berikutnya untuk terus berkembang.
Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
76
Pelajaran
320

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menggunakan Pernyataan with untuk File” gratis?

Ya — teks lengkap “Menggunakan Pernyataan with untuk File” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menggunakan Pernyataan with untuk File”?

Pastikan file ditutup secara otomatis menggunakan pengelola konteks. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Menggunakan Pernyataan with untuk File” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuka dan Membaca File
  2. Menulis dan Menambahkan Data ke File
  3. Menggunakan Pernyataan with untuk File
  4. Bekerja dengan Jalur File menggunakan pathlib
← Kembali ke Python Academy