Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengedit Talian Fail Di Tempat Menggunakan Python?

Bagaimanakah Saya Boleh Mengedit Talian Fail Di Tempat Menggunakan Python?

Susan Sarandon
Susan Sarandonasal
2024-12-03 16:38:12442semak imbas

How Can I Edit File Lines In-Place Using Python?

Mengedit Baris Fail Di Tempat

Tidak boleh mengedit terus baris di tempat semasa menghuraikan fail baris demi baris menggunakan fungsi Python standard. Walau bagaimanapun, adalah mungkin untuk mensimulasikan pengeditan di tempat menggunakan fail sandaran.

Modul input fail

Modul input fail menyediakan cara untuk mensimulasikan penyuntingan di tempat. Ia berfungsi dengan:

  • Membuat fail sandaran dengan sambungan yang ditentukan oleh parameter sandaran (lalai: '.bak').
  • Membaca daripada fail sandaran dan bukannya fail asal .
  • Menulis ke fail asal apabila parameter inplace ditetapkan kepada Benar.

Contoh Penyuntingan Baris Dalam Tempat

Berikut ialah skrip contoh yang mengalih keluar baris yang tidak memenuhi predikat some_condition daripada fail yang dinyatakan pada baris arahan atau stdin:

#!/usr/bin/env python
# grep_some_condition.py
import fileinput

for line in fileinput.input(inplace=True, backup='.bak'):
    if some_condition(line):
        print line, # this goes to the current file

Penggunaan:

$ python grep_some_condition.py first_file.txt second_file.txt

Selepas menjalankan skrip ini, first_file.txt dan second_file.txt hanya akan mengandungi baris yang memenuhi some_condition() predikat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengedit Talian Fail Di Tempat Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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