Python

Modul Python tempfile

Modul Python tempfile
Selalunya dalam program kita, kita perlu menyimpan beberapa maklumat sementara mengenai keadaan program dan objek yang mungkin atau mungkin tidak tinggal di luar keadaan program itu sendiri. Data yang disimpan dalam fail ini mungkin tidak dalam bentuk yang dapat dibaca oleh manusia atau bahkan dalam bentuk yang dapat digunakan oleh siapa pun tetapi beberapa program, algoritma atau penggodam dapat menemukan cara untuk mendapatkan maklumat dari data ini yang dapat mengorbankan keselamatan sistem. Oleh itu, kita perlu membuat logik yang membuat fail-fail ini, menulis beberapa data dan kemudian memadam fail-fail itu juga. Bagaimana jika ada sesuatu yang mengabaikan begitu banyak operasi dalam program kami? Sepertinya ada modul di Python untuk yang sama, yang tempfile modul.

Contohnya dengan modul tempfile

Kita akan mulakan dengan contoh mudah dengan Python tempfile modul di sini.

Membuat fail Sementara

Perkara pertama yang diperlukan untuk menyimpan data sementara adalah fail di mana kita dapat menyimpan data ini. Ini boleh dilakukan dengan menggunakan Fail Sementara () fungsi. Kelebihan terbesar dengan fungsi ini adalah apabila fail dibuat dengan fungsi ini, tidak ada pautan ke fail ini yang dibuat dalam sistem fail sistem dan oleh itu, tidak mungkin proses lain mengakses fail ini.

Mari lihat program ringkas yang memanfaatkan Fail Sementara () fungsi:

import os
import tempfile
# Menggunakan PID dalam nama fail untuk pengenalan yang lebih baik
fail = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Menyediakan mod Fail
temp_file = buka (fail, 'w + b')
cuba:
cetak ('temp_file: 0'.format (temp_file))
cetak ('temp_file.nama: 0 '.format (temp_file.nama))
akhirnya:
temp_file.tutup ()
# Memadam sendiri fail sementara
os.buang (fail)
cetak ('Metadata Sementara Sementara:')
temp_file = tempfile.Fail Sementara ()
cuba:
cetak ('temp_file: 0'.format (temp_file))
cetak ('temp_file.nama: 0 '.format (temp_file.nama))
akhirnya:
# Membersihkan fail apabila ditutup dipanggil
temp_file.tutup ()

Inilah yang kita dapat kembali dengan arahan ini:

Membuat fail sementara

Fail ini akan dihapuskan sebaik sahaja tutup () fungsi dipanggil pada tempfile rujukan.

Membaca dari fail Sementara

Malah membaca dari fail sementara adalah mudah dan boleh dilakukan dalam satu kaedah panggilan dalam modul yang sama. Kelebihan dengan fungsi ini ialah ia membantu kita untuk mengelakkan operasi IO yang kompleks terlibat sekiranya kita perlu melakukan operasi ini secara manual. Berikut adalah program yang menunjukkan fungsi ini dalam tindakan:

import os
import tempfile
tempFile = tempfile.Fail Sementara ()
cuba:
cetak ('Menulis data ke tempFile:')
tempFile.tulis (b'Setiap data boleh masuk ke sini.')
tempFile.mencari (0)
cetak ('Membaca data bentuk tempFile: \ n \ t 0'.format (tempFile.baca ()))
akhirnya:
tempFile.tutup ()

Mari lihat output untuk arahan ini:

Python membaca dari fail sementara

Semua teks dalam fail sementara diberikan kembali dengan panggilan kaedah tunggal.

Menulis teks biasa ke dalam Fail Sementara

Dalam program kami di atas, semua data yang ditulis ke fail tidak dalam bentuk format teks biasa. Sekiranya kita ingin melakukannya untuk operasi teks sederhana, kita hanya dapat mengubah mod fail ketika kita membuka fail sementara untuk pengubahsuaian:

import tempfile
fileMode = 'w + t'
dengan tempfile.TemporaryFile (mode = fileMode) sebagai fail:
fail.garis panduan (['Linux \ n', 'Ubuntu \ n'])
fail.mencari (0)
untuk item dalam fail:
mencetak (item.rstrip ())

Inilah yang kita dapat kembali dengan arahan ini:

Menulis teks biasa ke dalam fail

Membuat fail Sementara Dinamakan

Fail yang perlu dibentangkan di beberapa proses mesti diberi nama sehingga proses tidak menghapusnya ketika selesai. Inilah cara kami dapat membuat fail bernama sementara:

import os
import tempfile
tempFile = tempfile.DinamakanTemporFile ()
cuba:
cetak ('tempFile: 0'.format (tempFile))
cetak (temp.tempFile: 0 '.format (tempFile.nama))
akhirnya:
# Memadam fail juga
tempFile.tutup ()
cetak ('Adakah wujud? : 0 '.format (os.jalan.wujud (tempFile.nama)))

Mari lihat output untuk arahan ini:

Dinamakan tempfile

Sekiranya kami tidak menghapus fail, kami dapat memeriksa keberadaannya di program lain dan menggunakannya jika ada di lokasi yang ditentukan.

Menyediakan Nama Fail Akhiran dan Awalan

Untuk mengenal pasti fail yang termasuk dalam proses kita sendiri pada sistem fail, kita dapat menerapkan Suffix dan Prefix pada nama file juga:

import tempfile
tempFile = tempfile.NamedTemporaryFile (akhiran = '_ ubuntu',
awalan = 'linuxhint_',
dir = '/ tmp',)
cuba:
cetak ('tempFile:', tempFile)
cetak ('tempFile.nama: ', tempFile.nama)
akhirnya:
tempFile.tutup ()

Inilah yang kita dapat kembali dengan arahan ini:

Mengamalkan awalan dan akhiran pada nama fail

Kami memberikan tiga parameter untuk kaedah yang berfungsi sebagai Akhiran dan Awalan untuk nama fail yang akan dijadikan lokasi yang kami tentukan.

Kesimpulannya

Dalam pelajaran ini, kami melihat bagaimana kami dapat menggunakan modul tempfile Python untuk menguruskan fail sementara dalam kod kami. Baca lebih banyak catatan berdasarkan Python di sini.

Mengawal & menguruskan pergerakan tetikus antara beberapa monitor di Windows 10
Pengurus Tetikus Paparan Dwi membolehkan anda mengawal & mengkonfigurasi pergerakan tetikus antara beberapa monitor, dengan memperlahankan pergerakann...
WinMouse membolehkan anda menyesuaikan & meningkatkan pergerakan penunjuk tetikus pada PC Windows
Sekiranya anda ingin meningkatkan fungsi lalai penunjuk tetikus anda gunakan perisian percuma WinMouse. Ia menambah lebih banyak ciri untuk membantu a...
Butang klik kiri tetikus tidak berfungsi pada Windows 10
Sekiranya anda menggunakan tetikus khusus dengan komputer riba, atau komputer desktop anda tetapi butang klik kiri tetikus tidak berfungsi pada Window...