Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengubah Suai Garis dengan Cekap dalam Fail Di Tempat Tanpa Membuat Fail Sementara?

Bagaimanakah Saya Boleh Mengubah Suai Garis dengan Cekap dalam Fail Di Tempat Tanpa Membuat Fail Sementara?

DDD
Lepaskan: 2024-11-29 10:35:10
asal
997 orang telah melayarinya

How Can I Efficiently Modify Lines in a File In-Place Without Creating a Temporary File?

Mengubah Suai Baris dalam Fail Di Tempat

Adakah mungkin untuk menghuraikan fail baris demi baris dengan cekap dan mengubah suai baris tertentu tanpa membuat salinan atau sementara fail?

Jawapan:

Ya, adalah mungkin untuk mensimulasikan penyuntingan di tempat menggunakan fail sandaran. Modul input fail menyediakan kefungsian yang diperlukan untuk ini.

Contoh:

Pertimbangkan skrip yang mengalih keluar baris yang tidak memenuhi syarat tertentu daripada fail yang disediakan sebagai argumen baris arahan atau stdin:

import fileinput

for line in fileinput.input(inplace=True, backup='.bak'):
    if some_condition(line):
        print(line)  # The modified line is output to the current file
Salin selepas log masuk

Penggunaan:

Untuk mengalih keluar baris yang tidak memenuhi beberapa_syarat daripada first_file.txt dan second_file.txt, jalankan arahan berikut:

python grep_some_condition.py first_file.txt second_file.txt
Salin selepas log masuk

Setelah selesai, first_file.txt dan second_file.txt hanya akan mengandungi baris yang memenuhi some_condition() predikat.

Pendekatan ini memastikan pengubahsuaian di tempat yang cekap dengan mencipta fail sandaran .bak semasa proses penyuntingan, mengekalkan fail asal jika berlaku sebarang ralat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Suai Garis dengan Cekap dalam Fail Di Tempat Tanpa Membuat Fail Sementara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan