Cara Membaca Fail dalam Python Tanpa Memelihara Baris Baharu
Dalam Python, membaca fail dengan open(nama fail, 'r'). readlines() menyediakan senarai rentetan dengan aksara baris baharu pada penghujungnya. Tingkah laku ini mungkin tidak diingini dalam beberapa kes. Artikel ini meneroka beberapa kaedah untuk membaca fail tanpa baris baharu.
Kaedah 1: Menggunakan str.splitlines()
Kaedah ini membaca keseluruhan fail menjadi rentetan dan membahagikannya kepada baris individu menggunakan fungsi str.splitlines(). Hasilnya ialah senarai rentetan tanpa baris baharu:
temp = file.read().splitlines()
Kaedah 2: Menanggalkan Baris Baharu Secara Manual
Jika kaedah pemahaman senarai dan penghirisan lebih diutamakan, pendekatan berikut boleh digunakan:
temp = [line[:-1] for line in file]
Walau bagaimanapun, penyelesaian ini menganggap fail tamat dengan watak baris baharu. Jika tidak, baris terakhir akan kehilangan aksara terakhirnya.
Kaedah 3: Menambah Baris Baharu pada Akhir Fail
Untuk mengelakkan kehilangan aksara terakhir, baris baharu boleh ditambahkan pada penghujung fail sebelum membaca:
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]
Kaedah 4: Menggunakan rstrip()
Kaedah ini menyediakan alternatif untuk menanggalkan baris baharu secara manual:
[line.rstrip('\n') for line in file]
Kaedah 5: Menggunakan Menghiris Bersyarat
Walaupun kurang boleh dibaca, kaedah ini menggunakan penilaian boolean bagi or operator:
[line[:-(line[-1] == '\n') or len(line)+1] for line in file]
Nota: Kaedah readlines() dalam Python mengekalkan baris baharu dalam senarai rentetan yang dikembalikan kerana readline() itu sendiri mengekalkannya.
Atas ialah kandungan terperinci Bagaimana untuk Membaca Fail dalam Python Tanpa Baris Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!