Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengeluarkan Aksara Baris Baharu Dengan Cekap Apabila Membaca Fail dalam Python?

Bagaimanakah Saya Boleh Mengeluarkan Aksara Baris Baharu Dengan Cekap Apabila Membaca Fail dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-12-14 15:37:10963semak imbas

How Can I Efficiently Remove Newline Characters When Reading Files in Python?

Menghapuskan Baris Baharu Semasa Membaca Kandungan Fail

Dalam Python, readlines() mengembalikan senarai rentetan di mana setiap elemen mewakili baris daripada fail . Walau bagaimanapun, rentetan ini tidak dapat tidak termasuk aksara baris baharu (n). Untuk mengekstrak data tanpa baris baharu ini, beberapa pendekatan tersedia.

Menggunakan splitlines()

Untuk memisahkan baris tanpa mengekalkan baris baharu, gunakan str.splitlines():

temp = file.read().splitlines()

Melucutkan Talian Baharu Secara manual

Sebagai alternatif, tanggalkan baris baharu secara manual menggunakan pemahaman senarai:

temp = [line[:-1] for line in file]

Mengendalikan Talian Baharu Penamat

Perhatikan bahawa kaedah ini menganggap fail berakhir dengan baris baharu; jika tidak, baris terakhir akan menjadi tidak lengkap. Untuk menangani perkara ini, tambahkan baris baharu secara eksplisit:

with open(the_file, 'r+') as f:
    f.seek(-1, 2)
    if f.read(1) != '\n':
        # add missing newline if not already present
        f.write('\n')
        f.flush()
        f.seek(0)
    lines = [line[:-1] for line in f]

Pengguguran Baris Baharu

Dengan kaedah readlines(), kaedah writelines() tidak menambah baris baharu mengekori . Oleh itu, f2.writelines(f.readlines()) dengan setia mereplikasi f dalam f2.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Aksara Baris Baharu Dengan Cekap Apabila Membaca Fail dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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 sebelumnya:Belajar PythonArtikel seterusnya:Belajar Python