Python Academy · Pelajaran

Menulis dan Menambah pada Fail

Tulis data baharu dan tambahkannya pada fail sedia ada dengan selamat.

Pelajaran 2 daripada 414 langkah

Menulis dan Menambah pada Fail ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Pengenalan

Menulis dan menambahkan kandungan pada fail membolehkan program anda mengekalkan data antara satu pelaksanaan dengan pelaksanaan yang lain.

Mod Tulis 'w'

open('out.txt', 'w') mencipta fail (atau memotong kandungannya jika fail itu sudah wujud). f.write('Hello') menulis rentetan tersebut.
# with open('out.txt', 'w') as f:
#     f.write('Hello, World!')
print('write mode demo')

writelines()

f.writelines(list_of_strings) menulis setiap rentetan dalam senarai. Ia NOT menambahkan baris baharu secara automatik.
lines = ['line1\n', 'line2\n']
# with open('out.txt', 'w') as f:
#     f.writelines(lines)
print('writelines demo')

Mod Tambah 'a'

open('log.txt', 'a') membuka fail untuk penambahan — data baharu ditambahkan pada akhir tanpa memotong kandungan sedia ada.
# with open('log.txt', 'a') as f:
#     f.write('new entry\n')
print('append mode demo')

Baris baharu dalam write()

write() tidak menambah baris baharu secara automatik. Anda mesti menyertakan \n: f.write('line\n')
# with open('out.txt', 'w') as f:
#     f.write('first line\n')
#     f.write('second line\n')
print('newline demo')

Mod Baca+Tulis 'r+'

open(f,'r+') membuka fail untuk membaca dan menulis. Penuding bermula dari awal — penulisan akan MENIMPA kandungan sedia ada.
# with open('out.txt', 'r+') as f:
#     f.seek(0, 2)  # go to end
#     f.write('appended')
print('r+ demo')

Mengosongkan Penimbal

f.flush() memaksa data yang berada dalam penimbal ditulis ke cakera. Berguna untuk fail log apabila Anda mahukan output masa nyata.
# with open('log.txt', 'a') as f:
#     f.write('event\n')
#     f.flush()
print('flush demo')

print() ke Fail

print('text', file=f) menulis ke fail menggunakan pemformatan print (menambah baris baharu). Ini ialah alternatif mudah kepada write().
# with open('out.txt', 'w') as f:
#     print('Hello', file=f)
print('print-to-file demo')

Corak Penulisan Atomik

Tulis ke fail sementara, kemudian namakan semula kepada laluan akhir. Ini menghalang penulisan separa daripada merosakkan fail sasaran.
import tempfile, os
# with tempfile.NamedTemporaryFile('w', delete=False) as f:
#     f.write(data); tmp = f.name
# os.replace(tmp, 'out.txt')
print('atomic write demo')

JSON ke Fail

import json; json.dump(obj, f, indent=2) menyerikan data Python ke fail JSON dengan kemas.
import json
data = {'name': 'Alice', 'age': 30}
# with open('data.json', 'w') as f:
#     json.dump(data, f, indent=2)
print(json.dumps(data, indent=2))

Mod Penulisan Binari 'wb'

open('img.bin', 'wb') membuka fail untuk penulisan binari. Tulis objek bait: f.write(b'\x00\xff')
# with open('out.bin', 'wb') as f:
#     f.write(bytes([0, 255, 128]))
print('binary write demo')

Semakan Pantas

Apakah yang berlaku kepada fail sedia ada apabila dibuka dengan mod 'w'?

Imbas Kembali

Mod 'w' memendekkan fail, 'a' menambah pada penghujung, manakala 'r+' membaca dan menulis. Gunakan write() dengan \n yang dinyatakan secara jelas. print(file=f) ialah alternatif yang mudah. Kosongkan penimbal untuk log masa nyata.

Teruskan

Syabas! Teruskan ke pelajaran seterusnya untuk meneruskan kemajuan Anda.
Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
76
Pelajaran
320

Soalan Lazim

Adakah pelajaran “Menulis dan Menambah pada Fail” percuma?

Ya — teks penuh “Menulis dan Menambah pada Fail” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menulis dan Menambah pada Fail”?

Tulis data baharu dan tambahkannya pada fail sedia ada dengan selamat. Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Python Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Menulis dan Menambah pada Fail” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Membuka dan Membaca Fail
  2. Menulis dan Menambah pada Fail
  3. Menggunakan Pernyataan with untuk Fail
  4. Mengendalikan Laluan Fail dengan pathlib
← Kembali ke Python Academy