Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menggantikan Baris Tertentu dalam Fail Teks Menggunakan Python?

Bagaimana untuk Menggantikan Baris Tertentu dalam Fail Teks Menggunakan Python?

DDD
DDDasal
2024-11-14 19:14:01699semak imbas

How to Replace a Specific Line in a Text File Using Python?

Mengedit Baris Khusus dalam Fail Teks dalam Python

Dalam senario ini, anda mempunyai fail teks dengan berbilang baris dan anda mahu menggantikan baris tertentu dengan nilai baharu. Walaupun kod Python yang disediakan cuba mengubah suai baris, ia tidak betul. Berikut ialah pendekatan yang lebih cekap:

# Open the file for reading
with open('stats.txt', 'r') as file:
    # Read the file into a list of lines
    data = file.readlines()

# Print the data to verify its current state
print(data)

# Get the specific line you want to modify
line_to_edit = 1  # Index starts from 0

# Replace the old line with the new value
data[line_to_edit] = 'Mage\n'  # Add a newline character at the end

# Open the file for writing and overwrite the contents
with open('stats.txt', 'w') as file:
    # Write the updated data back to the file
    file.writelines(data)

Pendekatan ini menggunakan fungsi readlines() untuk membaca semua baris ke dalam senarai. Kemudian, anda boleh terus mengakses baris yang dikehendaki dengan indeksnya (mengingati bahawa pengindeksan bermula dari 0). Setelah baris tertentu diubah suai, keseluruhan senarai ditulis kembali ke fail menggunakan writelines().

Kaedah ini cekap kerana ia membaca keseluruhan fail ke dalam memori, membolehkan anda mengubah suai dan menulis ganti baris tertentu secara bebas. Tidak seperti kod asal, ia tidak cuba menulis ganti baris individu secara langsung, yang boleh membawa kepada hasil yang salah.

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Baris Tertentu dalam Fail Teks Menggunakan 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