Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Lelaran Fail Python Saya Gagal pada Percubaan Seterusnya?

Mengapa Lelaran Fail Python Saya Gagal pada Percubaan Seterusnya?

Mary-Kate Olsen
Lepaskan: 2024-11-30 02:17:17
asal
603 orang telah melayarinya

Why Does My Python File Iteration Fail on Subsequent Attempts?

Isu Lelaran Fail dengan Percubaan Seterusnya

Lelaran pada fail menggunakan gelung for digunakan secara meluas dalam Python untuk memproses data baris demi baris. Walau bagaimanapun, isu yang menarik timbul apabila cuba mengulangi fail yang sama beberapa kali.

Apabila cuba mengulang pada fail terbuka untuk kali kedua, kaedah readlines() tidak menghasilkan output, walaupun berjaya membaca keseluruhan fail pada lelaran awal. Untuk menyelesaikan isu ini, adalah perlu sama ada menutup fail dan membukanya semula atau menggunakan f.seek(0) untuk menetapkan semula penuding fail.

Memahami tingkah laku ini melibatkan pengecaman bahawa operasi readlines() awal membaca keseluruhan fail ke dalam ingatan. Ini bermakna apabila cuba mengulang kali kedua, tiada lagi data untuk dibaca kerana penuding fail telah sampai ke penghujungnya.

Untuk mengelakkan pengehadan sedemikian, pertimbangkan untuk menggunakan sintaks dengan, yang mengendalikan penutupan fail secara automatik. Pengubahsuaian berikut memastikan lelaran yang betul:

with open('baby1990.html', 'rU') as f:
  for line in f:
     print(line)
Salin selepas log masuk

Pendekatan ini memastikan fail ditutup secara automatik apabila blok selesai, membenarkan berbilang lelaran yang berjaya tanpa memerlukan penutupan dan pembukaan semula secara manual.

Atas ialah kandungan terperinci Mengapa Lelaran Fail Python Saya Gagal pada Percubaan Seterusnya?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan