Manipulasi Fail Cekap dengan Python "dengan terbuka"
Mengakses berbilang fail secara serentak selalunya merupakan tugas kritikal dalam Python. Walaupun menggunakan berbilang pernyataan "dengan terbuka" boleh membosankan, Python menawarkan penyelesaian yang elegan untuk menggabungkan panggilan ini dengan pernyataan "dengan".
Pembukaan Fail Dalam Talian
Python versi 2.7 dan ke atas membenarkan pembukaan fail dalam talian, menghapuskan keperluan untuk berbilang pernyataan "dengan". Hanya asingkan takrifan fail dengan koma dalam kurungan:
with open('a', 'w') as a, open('b', 'w') as b: do_something()
Pengurus Konteks Bersarang
Dalam versi Python yang terdahulu, contextlib.nested() boleh digunakan untuk pengurus konteks nest, tetapi ini tidak disyorkan untuk bekerja dengan berbilang fail.
ExitStack untuk Pembukaan Fail Dinamik
Dalam Python 3.3 dan seterusnya, contextlib.ExitStack menyediakan pilihan yang serba boleh untuk membuka bilangan fail yang berubah-ubah secara serentak:
with ExitStack() as stack: files = [stack.enter_context(open(fname)) for fname in filenames] # Do something with "files"
Pemprosesan Fail Berurutan
Bergantung pada kes penggunaan, pemprosesan fail berurutan mungkin lebih sesuai daripada membuka semua fail sekali gus:
for fname in filenames: with open(fname) as f: # Process f
Atas ialah kandungan terperinci Bagaimanakah saya boleh memanipulasi berbilang fail secara serentak dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!