نحوه کارکردن با فایلهای متنی چگونه است؟
در این بخش نحوه وارد کردن فایل متنی که به صورت .txt ذخیره میشوند، به داخل پایتون و یا خروجی گرفتن این فایلها از پایتون را بررسی میکنیم.
نحوه نوشتن فایلهای متنی
نحوه نوشتن فایلهای متنی که به صورت .txt ذخیره میشوند به صورت زیر میباشد.
writrefile myfile.txt%%
اسم فایلی که میخواهیم متن درونش بنویسیم را myfile با پسوند txt گذاشتهایم. سپس در خطوط بعدی اطلاعاتی که میخواهیم ذخیره کنیم را مینویسیم.
نحوه دسترسی به فایلهای متنی
برای دسترسی به فایل متنی ایجاد شده از تابع open() استفاده میکنیم. و در داخل پرانتز آدرس مکانی که فایل ذخیره شده است را به صورت String قرار میدهیم. اگر فایل متنی در همان دایرکتوری که فایل پایتون در آن است، ذخیره شده باشد. فقط کافیست که اسم فایل را به عنوان آدرس قرار دهیم. ولی اگر در یک دایرکتوری دیگر ذخیره شده باشد به روش زیر آدرس میدهیم.
myFile = open(‘c://Users//username//folder//filename.txt’)
آرگومان نخست تابع open، رشته حاوی نام کامل فایل (نشانی + نام + پسوند) مورد نظر بر روی دیسک کامپیوتر است. و آرگومان دوم که آرگومان mode میباشد نیز، یک رشته با مقداری خاص است. و حالتی که این فایل میبایست در آن باز شود را مشخص میسازد؛ این آرگومان اختیاری است و مقدار پیشفرض آن 'r'
میباشد. آرگومان mode نیز بر حسب نیاز میتواند یکی از مقدارهای پایین را داشته باشد:
'r'
: به منظور خواندن فایل متنی، فایل مورد نظر باز میشود و اشارهگر در ابتدای آن قرار میگیرد.
'w'
: به منظور نوشتن فایل متنی، فایل مورد نظر باز میشود؛ متن درون آن (در صورت وجود) پاک میشود و اشارهگر در ابتدای آن قرار میگیرد.
'a'
: به منظور افزودن فایل متنی، در انتهای متن موجود، فایل مورد نظر باز میشود؛ اشارهگر در انتهای فایل قرار دارد.
'+r'
: ف به منظور خواندن و نوشتن فایل متنی، فایل مورد نظر باز میشود و اشارهگر در ابتدای آن قرار میگیرد.
'+w'
: به منظور نوشتن و خواندن فایل متنی، فایل مورد نظر باز میشود؛ متن درون آن (در صورت وجود) پاک میشود و اشارهگر در ابتدای آن قرار میگیرد.
'+a'
: به منظور افزودن متنی در انتهای متن موجود و همچنین خواندن در فایل متنی موجود، فایل مورد نظر باز میشود؛ اشارهگر در انتهای فایل قرار دارد.
نحوه خواندن فایلهای متنی
برای خواندن فایل متنی از متد ()read استفاده میکنیم.
اگر یک بار دیگر این متد را اجرا کنیم چیزی نمایش داده نمیشود. به دلیل اینکه در ابتدا که متد read را فراخوانی کردهایم از ابتدا تا انتهای متن خوانده شد. و سپس برای بار دوم که این متد را فراخوانی کردیم دیگر چیزی برای خواندن وجو ندارد. اگر بخواهیم دوباره از ابتدا متن خوانده شود از متد seek استفاده میکنیم. در این صورت دوباره اگر متد read را فراخوانی کنیم، به ابتدا متن رفته و متن دوباره نمایش داده میشود.
برای دسترسی به سطر به سطر یک فایل متنی از متد ()readlines استفاده میشود، که در نهایت به لیستی از Stringها دسترسی پیدا میکنیم. که هر String یک سطر از فایل متنی میباشد.
برای بستن فایل متنی از متد ()close استفاده میکنیم.
یکی دیگر از روشهای دسترسی و خواندن فایل متنی استفاده از دستور with میباشد. به این صورت که بعد از دستور with تابع open را مینویسیم. سپس می توانیم با دستور as یک نام جایگزین برای فایل متنی انتخاب کنیم. بعد از : با زدن Enter به خط بعد میرویم. خط جدید به اندازه یک Tab جلوتر از خط بعدی میباشد. سپس در خط بعد از متد read جهت خواندن فایل متنی استفاده میکنیم.
اگر با دستور with فایلی که open میکنیم بخواهیم فقط به صورت read باز شود یعنی فقط خوانده شود، mode در داخل فانکشن open که به عنوان آرگومان دوم میباشد را باید مساوی با ‘r’ بگذاریم. و اگر بخواهیم فایل فقط به صورت نوشتاری باز شود mode را باید مساوی با ‘w’ بگذاریم. اگر بخواهیم کلمات مورد نظر را به فایل متنی اضافه کنیم mode را باید مساوی ‘a’ بگذاریم.
برای آشنایی بیشتر با فایلهای متنی و نحوه کار با آنها میتوانید به دوره جامع آموزش زبان برنامهنویسی پایتون آکادمی رسا مراجعه کنید.