Tutorial Python file I / O Terbaik Pada tahun 2024, Dalam tutorial ini Anda dapat mempelajari Cetak ke Layar,Baca input keyboard,Membuka dan Menutup File,Atribut file objek,File Lokasi,Mengubah nama dan menghapus file,Python dalam direktori:,File, direktori, metode terkait,
Bab ini hanya menjelaskan semua dasar I / O fungsi, fungsi lebih lanjut silahkan merujuk pada Python dokumentasi standar.
Cara termudah adalah dengan menggunakan pernyataan print output, Anda dapat lulus nol atau lebih ekspresi dipisahkan dengan koma. Fungsi ini mengubah ekspresi Anda melewati ekspresi string, dan hasilnya ditulis ke output standar sebagai berikut:
#!/usr/bin/python # -*- coding: UTF-8 -*- print "Python 是一个非常棒的语言,不是吗?";
Akan menghasilkan hasil sebagai berikut pada layar standar Anda:
Python 是一个非常棒的语言,不是吗?
Python menyediakan dua built-in fungsi untuk membaca baris dari input teks dari standar, standar input default adalah keyboard. Sebagai berikut:
raw_input ([cepat]) fungsi untuk membaca garis dari input standar, dan mengembalikan string (newline yang mengekor dihapus):
#!/usr/bin/python # -*- coding: UTF-8 -*- str = raw_input("请输入:"); print "你输入的内容是: ", str
Ini akan meminta Anda untuk memasukkan string apapun, dan kemudian menampilkan string yang sama pada layar. "Halo Python" Ketika saya ketik, outputnya adalah sebagai berikut:
请输入:Hello Python! 你输入的内容是: Hello Python!
input ([cepat]) fungsi dan raw_input ([cepat]) fungsi hakekatnya sama, tapi input dapat menerima ekspresi Python sebagai masukan dan mengembalikan hasil dari operasi.
#!/usr/bin/python # -*- coding: UTF-8 -*- str = input("请输入:"); print "你输入的内容是: ", str
Ini menghasilkan hasil sebagai berikut sesuai dengan input:
请输入:[x*5 for x in range(2,10,2)] 你输入的内容是: [10, 20, 30, 40]
Anda sekarang dapat membaca dan menulis ke standar input dan output. Sekarang, kita lihat bagaimana membaca dan menulis file data aktual.
Python menyediakan fungsi dan metode yang diperlukan untuk file default dari operasi dasar. Anda dapat menggunakanfile objek melakukan sebagian operasi file.
Anda harus menggunakan fungsi Python built-in open () untuk membuka file, membuat file objek, dan metode terkait dapat meminta untuk membaca dan menulis.
sintaks:
file object = open(file_name [, access_mode][, buffering])
Rincian dari berbagai parameter adalah sebagai berikut:
Membuka daftar lengkap dari modus yang berbeda file:
mode | deskripsi |
---|---|
r | Buka file dalam mode read-only. pointer file akan ditempatkan pada awal file. Ini adalah mode default. |
rb | Membuka file untuk read-only dalam format biner. Akan mengajukan pointer pada awal file. Ini adalah mode default. |
r + | Membuka file untuk membaca dan menulis. Akan mengajukan pointer pada awal file. |
rb + | Membuka file untuk membaca dan menulis dalam format biner. Akan mengajukan pointer pada awal file. |
w | Membuka file untuk menulis saja. Jika file sudah ada akan ditimpa. Jika file tidak ada, membuat file baru. |
wb | Membuka file untuk menulis dalam format biner saja. Jika file sudah ada akan ditimpa. Jika file tidak ada, membuat file baru. |
w + | Membuka file untuk membaca dan menulis. Jika file sudah ada akan ditimpa. Jika file tidak ada, membuat file baru. |
wb + | Membuka file untuk membaca dan menulis dalam format biner. Jika file sudah ada akan ditimpa. Jika file tidak ada, membuat file baru. |
sebuah | Membuka file untuk menambahkan. Jika file sudah ada, pointer file akan ditempatkan di akhir file. Dengan kata lain, setelah konten baru akan ditulis ke konten yang ada. Jika file tidak ada, membuat file baru untuk menulis. |
ab | Membuka file untuk append dalam format biner. Jika file sudah ada, pointer file akan ditempatkan di akhir file. Dengan kata lain, setelah konten baru akan ditulis ke konten yang ada. Jika file tidak ada, membuat file baru untuk menulis. |
a + | Membuka file untuk membaca dan menulis. Jika file sudah ada, pointer file akan ditempatkan di akhir file. Ini akan menambahkan modus file dibuka. Jika file tidak ada, membuat file baru untuk membaca dan menulis. |
ab + | Membuka file untuk append dalam format biner. Jika file sudah ada, pointer file akan ditempatkan di akhir file. Jika file tidak ada, membuat file baru untuk membaca dan menulis. |
Setelah file dibuka, Anda memiliki file objek, Anda bisa mendapatkan semua jenis informasi tentang file.
Berikut ini adalah daftar semua atribut file dan objek yang berkaitan dengan:
milik | deskripsi |
---|---|
file.closed | Mengembalikan nilai true jika file telah ditutup, jika tidak maka kembali palsu. |
file.mode | Kembali ke modus akses file terbuka. |
file.name | Mengembalikan nama file. |
file.softspace | Jika menggunakan hasil cetak, harus diikuti dengan karakter spasi, ia mengembalikan palsu. Jika tidak, ia mengembalikan benar. |
Contoh berikut:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "wb") print "文件名: ", fo.name print "是否已关闭 : ", fo.closed print "访问模式 : ", fo.mode print "末尾是否强制加空格 : ", fo.softspace
Contoh output di atas:
文件名: foo.txt 是否已关闭 : False 访问模式 : wb 末尾是否强制加空格 : 0
Metode dekat Berkas objek () untuk menyegarkan informasi tidak menulis buffer, dan menutup file, setelah itu mereka tidak lagi dapat ditulis.
Ketika referensi objek file yang akan kembali ditugaskan ke file lain, Python akan menutup file sebelumnya. Dengan metode close () untuk menutup file adalah kebiasaan yang baik.
sintaks:
fileObject.close();
contoh:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "wb") print "文件名: ", fo.name # 关闭打开的文件 fo.close()
Contoh output di atas:
文件名: foo.txt
Membaca dan menulis file:
file objek memberikan sejumlah metode memungkinkan kita untuk mengakses file lebih mudah. Melihat bagaimana menggunakan membaca () dan menulis () metode untuk membaca dan menulis file.
menulis metode () untuk menulis sebuah file yang terbuka string apapun. Penting untuk dicatat bahwa, Python string dapat data biner, bukan hanya teks.
() Method write tidak menambahkan baris baru pada akhir string ( '\ n'):
sintaks:
fileObject.write(string);
Di sini, parameter dilewatkan harus ditulis untuk membuka isi file.
contoh:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "wb") fo.write( "www.w3write.com!\nVery good site!\n"); # 关闭打开的文件 fo.close()
Metode yang diuraikan di atas membuat file foo.txt, dan menulis isi dari dokumen yang diterima dan akhirnya menutup file. Jika Anda membuka file ini, Anda akan melihat hal berikut:
$ cat foo.txt www.w3write.com! Very good site!
membaca () metode membaca string dari file terbuka. Penting untuk dicatat bahwa, Python string dapat data biner, bukan hanya teks.
sintaks:
fileObject.read([count]);
Di sini, argumen sedang berlalu dari hitungan byte file yang terbuka baca. Metode mulai dari awal file dibaca, jika tidak ada jumlah yang masuk, ia akan mencoba untuk membaca konten sebanyak lebih, mungkin sampai akhir file.
Di sini kita menggunakan file foo.txt dibuat di atas.
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "r+") str = fo.read(10); print "读取的字符串是 : ", str # 关闭打开的文件 fo.close()
Contoh output di atas:
读取的字符串是 : www.w3big
lokasi file:
Metode memberitahu () memberitahu Anda lokasi saat dalam file, dengan kata lain, membaca berikutnya atau menulis akan terjadi setelah awal file begitu banyak byte.
mencari (offset [, dari]) metode untuk mengubah lokasi file saat ini. variabel Offset menunjukkan jumlah byte untuk dipindahkan. Dari mulai bergerak variabel byte menentukan posisi referensi.
Jika dari diatur ke 0, yang berarti awal file sebagai posisi referensi untuk bergerak byte. Jika diatur ke 1, posisi saat ini sebagai posisi referensi. Jika diatur ke 2, maka akhir file akan digunakan sebagai posisi referensi.
contoh:
Di file kami buat di atas foo.txt.
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "r+") str = fo.read(10); print "读取的字符串是 : ", str # 查找当前位置 position = fo.tell(); print "当前文件位置 : ", position # 把指针再次重新定位到文件开头 position = fo.seek(0, 0); str = fo.read(10); print "重新读取字符串 : ", str # 关闭打开的文件 fo.close()
Contoh output di atas:
读取的字符串是 : www.w3big 当前文件位置 : 10 重新读取字符串 : www.w3big
modul os python menyediakan untuk membantu Anda melakukan metode pengolahan operasi file, seperti mengubah nama dan menghapus file.
Untuk menggunakan modul ini, Anda harus terlebih dahulu mengimpor sebelum Anda dapat memanggil berbagai fungsi terkait.
mengubah nama metode ():
mengubah nama () metode membutuhkan dua parameter, nama file saat ini dan nama file baru.
sintaks:
os.rename(current_file_name, new_file_name)
contoh:
Contoh berikut akan mengubah nama file yang sudah ada test1.txt.
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 重命名文件test1.txt到test2.txt。 os.rename( "test1.txt", "test2.txt" )
Anda dapat menggunakan metode hapus () untuk menghapus file, Anda perlu memberikan nama file yang akan dihapus sebagai parameter.
sintaks:
os.remove(file_name)
contoh:
Contoh berikut akan menghapus file yang sudah ada test2.txt.
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 删除一个已经存在的文件test2.txt os.remove("test2.txt")
Semua file yang terkandung dalam berbagai direktori, tapi Python dapat dengan mudah menangani. modul os Ada banyak cara untuk membantu Anda untuk membuat, menghapus, dan mengubah direktori.
Anda dapat menggunakan mkdir modul os () metode menciptakan sebuah direktori baru di direktori saat ini. Anda perlu memberikan parameter yang berisi nama direktori yang akan dibuat.
sintaks:
os.mkdir("newdir")
contoh:
Contoh berikut membuat sebuah direktori test baru di direktori saat ini.
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 创建目录test os.mkdir("test")
Anda dapat menggunakan () metode chdir untuk mengubah direktori sekarang. Sebuah metode parameter chdir () mengharuskan Anda ingin ditetapkan sebagai nama direktori dari direktori saat ini.
sintaks:
os.chdir("newdir")
contoh:
Contoh berikut akan memasuki "/ home / newdir" direktori.
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 将当前目录改为"/home/newdir" os.chdir("/home/newdir")
getcwd () metode:
Metode getcwd () untuk menampilkan direktori kerja saat ini.
sintaks:
os.getcwd()
contoh:
Contoh berikut menunjukkan direktori saat ini:
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 给出当前的目录 os.getcwd()
Metode rmdir () untuk menghapus direktori, nama direktori dilewatkan sebagai parameter.
Sebelum menghapus direktori ini dan semua isinya harus dibersihkan terlebih dahulu.
sintaks:
os.rmdir('dirname')
contoh:
Berikut ini dihapus "/ tmp / test" direktori contoh. Sepenuhnya sesuai nama direktori harus diberikan, jika tidak maka akan mencari direktori dalam direktori saat ini.
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 删除”/tmp/test”目录 os.rmdir( "/tmp/test" )
Tiga metode dapat menjadi sumber penting dari file dan direktori pada sistem operasi Windows dan Unix melakukan berbagai penanganan praktis dan manipulasi, sebagai berikut: