Melucutkan Baris Baharu daripada Data Fail dalam Python
Apabila membaca fail dalam Python menggunakan kaedah readlines(), elemen senarai yang terhasil mengandungi baris baharu di penghujungnya. Untuk menghapuskan baris baharu ini, beberapa pendekatan tersedia.
Satu kaedah ialah menggunakan fungsi splitlines() rentetan untuk memisahkan baris pada baris baharu selepas membaca keseluruhan fail:
temp = file.read().splitlines()
Sebagai alternatif, anda boleh tanggalkan baris baharu secara manual:
temp = [line[:-1] for line in file]
Nota: Kaedah ini menganggap fail berakhir dengan baris baharu; jika tidak, baris terakhir akan dipotong.
Untuk memastikan kehadiran baris baharu yang tamat, anda boleh menambah satu secara manual:
with open(the_file, 'r+') as f: f.seek(-1, 2) if f.read(1) != '\n': f.write('\n') f.flush() f.seek(0) lines = [line[:-1] for line in f]
Pilihan lain ialah menggunakan strip() untuk mengalih keluar baris baharu :
[line.rstrip('\n') for line in file]
Untuk ringkasan, anda juga boleh menggunakan di bawah pendekatan:
[line[:-(line[-1] == '\n') or len(line)+1] for line in file]
Memahami readlines()
Kaedah readlines() berulang daripada readline(), yang merangkumi baris baharu. Oleh itu, begitu juga readlines(). Untuk ketekalan, writelines() tidak menambah baris baharu, memastikan salinan tepat dihasilkan apabila menggunakan kedua-dua kaedah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Baris Baharu dengan Cekap daripada Data Fail yang Dibaca dengan `readlines()` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!