Latest web development tutorials

Python file I / O

Bab ini hanya menjelaskan semua dasar I / O fungsi, fungsi lebih lanjut silahkan merujuk pada Python dokumentasi standar.

Cetak ke Layar

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 是一个非常棒的语言,不是吗?

Baca input keyboard

Python menyediakan dua built-in fungsi untuk membaca baris dari input teks dari standar, standar input default adalah keyboard. Sebagai berikut:

  • raw_input
  • masukan

fungsi raw_input

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!

fungsi input

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]

Membuka dan Menutup File

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.

fungsi terbuka

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:

  • nama_file: variabel nama_file adalah string yang berisi nilai yang Anda ingin mengakses nama file.
  • access_mode: access_mode memutuskan untuk membuka mode file: Baca, Tulis, menambahkan. Lihat daftar lengkap dari semua nilai yang mungkin sebagai berikut. parameter non-wajib ini, mode akses file default adalah read-only (r).
  • penyangga: Jika nilai penyangga diatur ke 0, tidak akan ada penyimpanan. Jika nilai penyangga mengambil 1, itu akan mendaftarkan baris ketika mengakses file. Jika nilai diatur penyangga bilangan bulat lebih besar dari 1, menunjukkan ukuran buffer ini adalah tempat penyimpanan. Jika nilai negatif, ukuran zona penyimpanan buffer untuk sistem default.

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.

Atribut file objek

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

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.

write () metode

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.w3big.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.w3big.com!
Very good site!

membaca metode ()

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.

contoh:

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:


File Lokasi

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

Mengubah nama dan menghapus file

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" )

menghapus metode ()

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")

Python dalam direktori:

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.

mkdir () metode

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")

chdir () metode

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

rmdir () metode

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"  )

File, direktori, metode terkait

Tiga metode dapat menjadi sumber penting dari file dan direktori pada sistem operasi Windows dan Unix melakukan berbagai penanganan praktis dan manipulasi, sebagai berikut:

  • Berkas metode objek : objek file menyediakan serangkaian metode memanipulasi file.
  • OS Obyek : menyediakan sebuah metode untuk memproses serangkaian file dan direktori.