Mengubah Suai Baris dalam Fail Di Tempat
Menghuraikan fail baris demi baris menyediakan keupayaan berharga untuk memanipulasi kandungan. Walau bagaimanapun, jika timbul keperluan untuk mengedit baris dalam fail semasa anda melintasinya, anda mungkin tertanya-tanya sama ada ini boleh dicapai.
Pengeditan Sebaris
Secara tradisinya, mengubah suai fail dalam -tempat bukanlah satu tugas yang mudah. Walau bagaimanapun, teknik simulasi menggunakan fail sandaran, serupa dengan pendekatan yang diambil oleh modul input fail Python, boleh memberikan penyelesaian.
Contoh Skrip
Pertimbangkan contoh skrip ini:
#!/usr/bin/env python import fileinput for line in fileinput.input(inplace=True, backup='.bak'): if some_condition(line): print line, # this goes to the current file
Dalam skrip ini, kami membaca daripada fail yang disediakan pada baris arahan atau stdin menggunakan fileinput.input. Dengan menyatakan inplace=True, kami membolehkan pengubahsuaian fail semasa. Parameter sandaran mencipta fail sandaran dengan sambungan .bak.
Operasi
Apabila skrip berulang melalui setiap baris, ia menilai keadaan tertentu (some_condition) pada setiap barisan. Jika syarat dipenuhi, baris dicetak kembali ke fail semasa, mengubah suainya di tempat dengan berkesan.
Contoh Penggunaan
Sebagai contoh, menjalankan skrip dengan :
$ python grep_some_condition.py first_file.txt second_file.txt
akan menghasilkan first_file.txt dan second_file.txt yang mengandungi hanya baris yang memenuhi some_condition() predikat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Suai Talian dalam Fail Di Tempat Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!