فایلها
note.txt یک نام روی دستگاه است. برنامه که تمام شود، حرفهای داخلش هنوز همانجا هستند. با open به همین نام میرسید. برنامهٔ اول یک خط کوتاه در فایل میگذارد و برنامهٔ دوم همان خط را برمیخواند. close را در این صفحه خودتان مینویسید. اگر خطی پیش از close بایستد و فایل باز هم بسته شود، آن کار برای صفحهٔ بعد است.
note = open("note.txt", "w", encoding="utf-8")
note.write("tea\n")
note.close()
روی صفحه چیزی نمیآید، چون این برنامه print ندارد. write حروف tea را در note.txt میگذارد و \n خط را تمام میکند. اگر این نام روی دستگاه نباشد، حالت w فایل را میسازد. اگر از قبل حرفهای دیگری داخلش باشد، w آنها را پاک میکند. بعد از این نوشتن، فایل فقط tea و شکست خط را دارد. ذخیره با close تمام میشود. تا close نیامده، آن خط را ذخیرهشده نگیرید. encoding="utf-8" یعنی حروف بهصورت متن نگه داشته میشوند.
📊 دو جور باز کردن
| حالت | این open چه میکند |
|---|---|
| w | اگر note.txt نباشد آن را میسازد، و هر چه داخلش بوده پاک میشود |
| r | note.txt را میخواند؛ اگر فایل نباشد برنامه با FileNotFoundError میایستد |
note = open("note.txt", "r", encoding="utf-8")
text = note.read()
note.close()
print(text)
این برنامه از نو شروع میشود و چیزی نمینویسد. tea باید از قبل داخل note.txt باشد، همان که برنامهٔ اول گذاشت. read() همهٔ حرفها را یک متن برمیگرداند و شکست خط هم جزو همان متن است. print همان tea را نشان میدهد و بعد یک خط خالی. متن از قبل با شکست خط تمام شده و print یکی دیگر هم اضافه میکند. close دوباره میآید تا خواندن تمام شود. encoding="utf-8" اینجا هم هست تا حروف بهصورت متن برگردند.
اگر note.txt روی دستگاه نباشد و با r بازش کنید، برنامه میایستد. نام این ایست FileNotFoundError است. این خطها در برنامههای این صفحه نیستند. w بهجای ایستادن فایل را میساخت. Python متن خالی نمیسازد که برنامه را ادامه دهد.
close در این صفحه خطی است که وقتی کارتان تمام شد خودتان مینویسید. صفحهٔ بعد with را به کار میبرد تا اگر خطی پیش از close بایستد، فایل باز هم بسته شود. در این برنامهها with نیست.
چه در فایل ماند
صفحهٔ اول خالی است و بعد از close فایل tea را دارد. حالت w حرفهای قدیمی را پاک میکند. صفحهٔ دوم tea را نشان میدهد و بعد یک خط خالی. باز کردن فایلِ نبوده با r برنامه را میایستاند. صفحهٔ بعد فایل را حتی اگر خطی بایستد میبندد.
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود