Python - I / O File

Bab ini mencakup semua fungsi I / O dasar yang tersedia dengan Python. Untuk fungsi lainnya, lihat 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/python

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 menyediakan dua fungsi built-in untuk membaca sebaris teks dari input standar, yang secara default berasal dari keyboard. Fungsi-fungsi ini adalah -

  • raw_input
  • input

The raw_input Fungsi

Fungsi raw_input ([prompt]) membaca satu baris dari input standar dan mengembalikannya sebagai string (menghapus baris baru yang tertinggal).

#!/usr/bin/python

str = raw_input("Enter your input: ")
print "Received input is : ", str

Ini meminta Anda untuk memasukkan string apa pun dan itu akan menampilkan string yang sama di layar. Saat saya mengetik "Hello Python!", Outputnya seperti ini -

Enter your input: Hello Python
Received input is :  Hello Python

The masukan Fungsi

Fungsi input ([prompt]) sama dengan raw_input, kecuali bahwa ini mengasumsikan input adalah ekspresi Python yang valid dan mengembalikan hasil yang dievaluasi kepada Anda.

#!/usr/bin/python

str = input("Enter your input: ")
print "Received input is : ", str

Ini akan menghasilkan hasil berikut terhadap input yang dimasukkan -

Enter your input: [x*5 for x in range(2,10,2)]
Recieved input is :  [10, 20, 30, 40]

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.

The terbuka Fungsi

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.

The File Object Atribut

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.

4

file.softspace

Menampilkan false jika spasi secara eksplisit diperlukan dengan print, true jika tidak.

Contoh

#!/usr/bin/python

# 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
print "Softspace flag : ", fo.softspace

Ini menghasilkan hasil sebagai berikut -

Name of the file:  foo.txt
Closed or not :  False
Opening mode :  wb
Softspace flag :  0

The dekat () Method

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/python

# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name

# Close opend file
fo.close()

Ini menghasilkan hasil sebagai berikut -

Name of the file:  foo.txt

Membaca dan Menulis File

The berkas objek menyediakan satu set metode akses untuk membuat hidup kita lebih mudah. Kita akan melihat bagaimana menggunakan metode read () dan write () untuk membaca dan menulis file.

The write () Method

Metode write () 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/python

# Open a file
fo = open("foo.txt", "wb")
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!!

The read () Method

Metode read () membaca string dari file 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 kita buat di atas.

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10);
print "Read String is : ", str
# Close opend 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. The mengimbangi argumen menunjukkan jumlah byte untuk dipindahkan. The dari argumen menentukan posisi referensi dari mana byte yang dipindahkan.

Jika from diset ke 0, berarti menggunakan awal file sebagai posisi referensi dan 1 berarti menggunakan posisi saat ini sebagai posisi referensi dan jika diatur ke 2 maka ujung file akan diambil sebagai posisi referensi .

Contoh

Mari kita ambil file foo.txt yang sudah kita buat di atas.

#!/usr/bin/python

# 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 opend 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 ()

Metode rename () 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/python
import os

# Rename a file from test1.txt to test2.txt
os.rename( "test1.txt", "test2.txt" )

The hapus () Method

Anda bisa menggunakan metode remove () 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/python
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.

The mkdir () Method

Anda bisa menggunakan metode mkdir () dariosmodul 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/python
import os

# Create a directory "test"
os.mkdir("test")

The chdir () Method

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/python
import os

# Changing a directory to "/home/newdir"
os.chdir("/home/newdir")

The getcwd () Method

Metode getcwd () menampilkan direktori kerja saat ini.

Sintaksis

os.getcwd()

Contoh

Berikut adalah contoh untuk memberikan direktori saat ini -

#!/usr/bin/python
import os

# This would give location of the current directory
os.getcwd()

The rmdir () Method

Metode rmdir () menghapus direktori, yang diberikan 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/python
import os

# This would  remove "/tmp/test"  directory.
os.rmdir( "/tmp/test"  )

Metode Terkait File & 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 : Objek file menyediakan fungsi untuk memanipulasi file.

  • Metode Objek OS : Ini menyediakan metode untuk memproses file serta direktori.