Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk cekap mengubah suai berbilang fail dalam Python menggunakan pernyataan \"dengan terbuka\"?
Membuka Berbilang Fail dengan Pernyataan "dengan terbuka" dalam Python
Mengubah suai berbilang fail secara serentak menimbulkan persoalan bagaimana untuk melaksanakan operasi ini dengan cekap sambil mengekalkan integriti fail. Menggunakan pernyataan "dengan terbuka" bersama-sama pengurusan konteks menawarkan penyelesaian praktikal.
Menggunakan "dengan terbuka" dengan Berbilang Fail
Dalam Python versi 2.7 dan ke atas, sintaks telah disemak untuk membenarkan berbilang bukaan fail dalam satu pernyataan "dengan terbuka":
with open('a', 'w') as a, open('b', 'w') as b: do_something()
Ini menghapuskan keperluan untuk pernyataan "dengan" bersarang atau penggunaan "contextlib.nested()."
Pendekatan Alternatif
Dalam keadaan yang jarang berlaku di mana bilangan fail yang akan dibuka berubah-ubah, "contextlib.ExitStack" menawarkan penyelesaian fleksibel yang tersedia dalam Python 3.3 dan kemudian:
with ExitStack() as stack: files = [stack.enter_context(open(fname)) for fname in filenames] # Do something with "files"
Walau bagaimanapun, pemprosesan fail berurutan selalunya lebih sesuai, terutamanya apabila berurusan dengan bilangan fail yang berubah-ubah:
for fname in filenames: with open(fname) as f: # Process f
Atas ialah kandungan terperinci Bagaimana untuk cekap mengubah suai berbilang fail dalam Python menggunakan pernyataan \"dengan terbuka\"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!