Python 3 - I / O File
Bab ini mencakup semua fungsi I / O dasar yang tersedia di Python 3. Untuk fungsi lainnya, silakan merujuk ke dokumentasi Python standar.
Mencetak ke Layar
Cara termudah untuk menghasilkan keluaran adalah menggunakan pernyataan print di mana Anda dapat meneruskan nol atau lebih ekspresi yang dipisahkan dengan koma. Fungsi ini mengubah ekspresi yang Anda berikan menjadi string dan menulis hasilnya ke output standar sebagai berikut -
#!/usr/bin/python3
print ("Python is really a great language,", "isn't it?")
Ini menghasilkan hasil berikut di layar standar Anda -
Python is really a great language, isn't it?
Membaca Input Keyboard
Python 2 memiliki dua fungsi built-in untuk membaca data dari input standar, yang secara default berasal dari keyboard. Fungsi-fungsi ini adalahinput() dan raw_input()
Di Python 3, fungsi raw_input () tidak digunakan lagi. Selain itu, fungsi input () membaca data dari keyboard sebagai string, terlepas dari apakah itu diapit dengan tanda kutip ('' atau "") atau tidak.
Fungsi masukan
Itu input([prompt]) fungsinya setara dengan raw_input, kecuali bahwa ia mengasumsikan bahwa input adalah ekspresi Python yang valid dan mengembalikan hasil yang dievaluasi kepada Anda.
#!/usr/bin/python3
>>> x = input("something:")
something:10
>>> x
'10'
>>> x = input("something:")
something:'10' #entered data treated as string with or without ''
>>> x
"'10'"
Membuka dan Menutup File
Sampai saat ini, Anda telah membaca dan menulis dengan standar input dan output. Sekarang, kita akan melihat bagaimana menggunakan file data aktual.
Python menyediakan fungsi dan metode dasar yang diperlukan untuk memanipulasi file secara default. Anda dapat melakukan sebagian besar manipulasi file menggunakan filefile obyek.
Fungsi terbuka
Sebelum Anda dapat membaca atau menulis file, Anda harus membukanya menggunakan fungsi open () bawaan Python. Fungsi ini membuat filefile objek, yang akan digunakan untuk memanggil metode dukungan lain yang terkait dengannya.
Sintaksis
file object = open(file_name [, access_mode][, buffering])
Berikut adalah detail parameter -
file_name - Argumen nama_file adalah nilai string yang berisi nama file yang ingin Anda akses.
access_mode- Access_mode menentukan mode di mana file harus dibuka, misalnya, membaca, menulis, menambahkan, dll. Daftar lengkap kemungkinan nilai diberikan di bawah ini dalam tabel. Ini adalah parameter opsional dan mode akses file default adalah baca (r).
buffering- Jika nilai buffering disetel ke 0, tidak ada buffering yang terjadi. Jika nilai buffering adalah 1, buffering baris dilakukan saat mengakses file. Jika Anda menentukan nilai buffering sebagai integer yang lebih besar dari 1, maka tindakan buffering dilakukan dengan ukuran buffer yang ditunjukkan. Jika negatif, ukuran buffer adalah default sistem (perilaku default).
Berikut adalah daftar dari berbagai mode membuka file -
Sr.No. | Mode & Deskripsi |
---|---|
1 | r Membuka file untuk membaca saja. Penunjuk file ditempatkan di awal file. Ini adalah mode default. |
2 | rb Membuka file untuk membaca hanya dalam format biner. Penunjuk file ditempatkan di awal file. Ini adalah mode default. |
3 | r+ Membuka file untuk membaca dan menulis. Penunjuk file ditempatkan di awal file. |
4 | rb+ Membuka file untuk membaca dan menulis dalam format biner. Penunjuk file ditempatkan di awal file. |
5 | w Membuka file untuk menulis saja. Menimpa file jika file tersebut ada. Jika file tidak ada, buat file baru untuk menulis. |
6 | wb Membuka file untuk menulis hanya dalam format biner. Menimpa file jika file tersebut ada. Jika file tidak ada, buat file baru untuk menulis. |
7 | w+ Membuka file untuk menulis dan membaca. Menimpa file yang ada jika file tersebut ada. Jika file tidak ada, buat file baru untuk membaca dan menulis. |
8 | wb+ Membuka file untuk menulis dan membaca dalam format biner. Menimpa file yang ada jika file tersebut ada. Jika file tidak ada, buat file baru untuk membaca dan menulis. |
9 | a Membuka file untuk ditambahkan. Penunjuk file berada di akhir file jika file tersebut ada. Artinya, file tersebut dalam mode tambahkan. Jika file tidak ada, itu membuat file baru untuk ditulis. |
10 | ab Membuka file untuk ditambahkan dalam format biner. Penunjuk file berada di akhir file jika file tersebut ada. Artinya, file tersebut dalam mode tambahkan. Jika file tidak ada, itu membuat file baru untuk ditulis. |
11 | a+ Membuka file untuk menambahkan dan membaca. Penunjuk file berada di akhir file jika file tersebut ada. File terbuka dalam mode tambahkan. Jika file tidak ada, itu membuat file baru untuk membaca dan menulis. |
12 | ab+ Membuka file untuk menambahkan dan membaca dalam format biner. Penunjuk file berada di akhir file jika file tersebut ada. File terbuka dalam mode tambahkan. Jika file tidak ada, itu membuat file baru untuk membaca dan menulis. |
File Atribut Objek
Setelah file dibuka dan Anda memiliki satu objek file , Anda bisa mendapatkan berbagai informasi yang terkait dengan file tersebut.
Berikut adalah daftar semua atribut yang terkait dengan objek file -
Sr.No. | Atribut & Deskripsi |
---|---|
1 | file.closed Mengembalikan nilai benar jika file ditutup, salah jika tidak. |
2 | file.mode Mengembalikan mode akses dengan file mana yang dibuka. |
3 | file.name Mengembalikan nama file. |
Note - Atribut softspace tidak didukung di Python 3.x
Contoh
#!/usr/bin/python3
# Open a file
fo = open("foo.txt", "wb")
print ("Name of the file: ", fo.name)
print ("Closed or not : ", fo.closed)
print ("Opening mode : ", fo.mode)
fo.close()
Ini menghasilkan hasil sebagai berikut -
Name of the file: foo.txt
Closed or not : False
Opening mode : wb
Metode close ()
Metode close () dari objek file membersihkan informasi yang tidak tertulis dan menutup objek file, setelah itu tidak ada lagi penulisan yang dapat dilakukan.
Python secara otomatis menutup file ketika objek referensi file dipindahkan ke file lain. Ini adalah praktik yang baik untuk menggunakan metode close () untuk menutup file.
Sintaksis
fileObject.close();
Contoh
#!/usr/bin/python3
# Open a file
fo = open("foo.txt", "wb")
print ("Name of the file: ", fo.name)
# Close opened file
fo.close()
Ini menghasilkan hasil sebagai berikut -
Name of the file: foo.txt
Membaca dan Menulis File
Objek file menyediakan sekumpulan metode akses untuk membuat hidup kita lebih mudah. Kami akan melihat bagaimana cara menggunakannyaread() dan write() metode untuk membaca dan menulis file.
Metode write ()
Itu write()metode menulis string apa pun ke file yang terbuka. Penting untuk diperhatikan bahwa string Python dapat memiliki data biner dan bukan hanya teks.
Metode write () tidak menambahkan karakter baris baru ('\ n') ke akhir string -
Sintaksis
fileObject.write(string);
Di sini, parameter yang dilewatkan adalah konten yang akan ditulis ke dalam file yang dibuka.
Contoh
#!/usr/bin/python3
# Open a file
fo = open("foo.txt", "w")
fo.write( "Python is a great language.\nYeah its great!!\n")
# Close opend file
fo.close()
Metode di atas akan membuat file foo.txt dan akan menulis konten yang diberikan dalam file itu dan akhirnya akan menutup file itu. Jika Anda akan membuka file ini, itu akan memiliki konten berikut -
Python is a great language.
Yeah its great!!
Metode read ()
Itu read()metode membaca string dari file yang terbuka. Penting untuk diperhatikan bahwa string Python dapat memiliki data biner. selain dari data teks.
Sintaksis
fileObject.read([count]);
Di sini, parameter yang dilewatkan adalah jumlah byte yang akan dibaca dari file yang dibuka. Metode ini mulai membaca dari awal file dan jika hitungan hilang, maka ia mencoba membaca sebanyak mungkin, mungkin sampai akhir file.
Contoh
Mari kita ambil file foo.txt yang sudah kita buat di atas.
#!/usr/bin/python3
# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10)
print ("Read String is : ", str)
# Close opened file
fo.close()
Ini menghasilkan hasil sebagai berikut -
Read String is : Python is
Posisi File
Metode tell () memberi tahu Anda posisi saat ini di dalam file; dengan kata lain, pembacaan atau penulisan berikutnya akan terjadi pada banyak byte dari awal file.
Metode seek (offset [, from]) mengubah posisi file saat ini. Ituoffsetargumen menunjukkan jumlah byte yang akan dipindahkan. Itufrom argumen menentukan posisi referensi dari mana byte akan dipindahkan.
Jika from disetel ke 0, awal file digunakan sebagai posisi referensi. Jika disetel ke 1, posisi saat ini digunakan sebagai posisi referensi. Jika diset ke 2 maka bagian akhir file akan diambil sebagai posisi referensi.
Contoh
Mari kita ambil file foo.txt yang sudah kita buat di atas.
#!/usr/bin/python3
# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10)
print ("Read String is : ", str)
# Check current position
position = fo.tell()
print ("Current file position : ", position)
# Reposition pointer at the beginning once again
position = fo.seek(0, 0)
str = fo.read(10)
print ("Again read String is : ", str)
# Close opened file
fo.close()
Ini menghasilkan hasil sebagai berikut -
Read String is : Python is
Current file position : 10
Again read String is : Python is
Mengganti Nama dan Menghapus File
Python os modul menyediakan metode yang membantu Anda melakukan operasi pemrosesan file, seperti mengganti nama dan menghapus file.
Untuk menggunakan modul ini, Anda perlu mengimpornya terlebih dahulu dan kemudian Anda dapat memanggil fungsi terkait.
Metode rename ()
Itu rename() Metode mengambil dua argumen, nama file saat ini dan nama file baru.
Sintaksis
os.rename(current_file_name, new_file_name)
Contoh
Berikut adalah contoh untuk mengganti nama file test1.txt yang ada -
#!/usr/bin/python3
import os
# Rename a file from test1.txt to test2.txt
os.rename( "test1.txt", "test2.txt" )
Metode remove ()
Anda dapat menggunakan remove() metode untuk menghapus file dengan memberikan nama file yang akan dihapus sebagai argumen.
Sintaksis
os.remove(file_name)
Contoh
Berikut adalah contoh untuk menghapus file test2.txt yang ada -
#!/usr/bin/python3
import os
# Delete file test2.txt
os.remove("text2.txt")
Direktori dengan Python
Semua file terdapat dalam berbagai direktori, dan Python juga tidak memiliki masalah untuk menangani ini. Ituos module memiliki beberapa metode yang membantu Anda membuat, menghapus, dan mengubah direktori.
Metode mkdir ()
Anda dapat menggunakan mkdir() metode dari osmodul untuk membuat direktori di direktori saat ini. Anda perlu memberikan argumen ke metode ini, yang berisi nama direktori yang akan dibuat.
Sintaksis
os.mkdir("newdir")
Contoh
Berikut adalah contoh untuk membuat pengujian direktori di direktori saat ini -
#!/usr/bin/python3
import os
# Create a directory "test"
os.mkdir("test")
Metode chdir ()
Anda dapat menggunakan metode chdir () untuk mengubah direktori saat ini. Metode chdir () mengambil argumen, yaitu nama direktori yang ingin Anda buat menjadi direktori saat ini.
Sintaksis
os.chdir("newdir")
Contoh
Berikut adalah contoh untuk masuk ke direktori "/ home / newdir" -
#!/usr/bin/python3
import os
# Changing a directory to "/home/newdir"
os.chdir("/home/newdir")
Metode getcwd ()
Itu getcwd() metode menampilkan direktori kerja saat ini.
Sintaksis
os.getcwd()
Contoh
Berikut adalah contoh untuk memberikan direktori saat ini -
#!/usr/bin/python3
import os
# This would give location of the current directory
os.getcwd()
Metode rmdir ()
Itu rmdir() metode menghapus direktori, yang dikirimkan sebagai argumen dalam metode.
Sebelum menghapus direktori, semua konten di dalamnya harus dibuang.
Sintaksis
os.rmdir('dirname')
Contoh
Berikut adalah contoh untuk menghapus direktori "/ tmp / test". Diperlukan untuk memberikan nama direktori yang memenuhi syarat, jika tidak maka akan mencari direktori itu di direktori saat ini.
#!/usr/bin/python3
import os
# This would remove "/tmp/test" directory.
os.rmdir( "/tmp/test" )
Metode Terkait File dan Direktori
Ada tiga sumber penting, yang menyediakan berbagai macam metode utilitas untuk menangani dan memanipulasi file & direktori pada sistem operasi Windows dan Unix. Mereka adalah sebagai berikut -
Metode Objek File
Itu file objek menyediakan fungsi untuk memanipulasi file.
Metode Objek OS
Ini menyediakan metode untuk memproses file serta direktori.