پایتون برای همه | 33 | فایل‌ها در پایتون | ماندگاری و باز کردن فایل‌ها

پایتون برای همه پایتون 3

ماندگاری فایل‌ها

تا اینجا ما در خصوص نحوه‌ی نوشتن برنامه‌ها و ارتباط برقرار کردن با واحد پردازش مرکزی با استفاده از اجرای شرطی، توابع و تکرارها آشنا شدیم. ما در خصوص چگونگی ساخت و استفاده از ساختار داده در حافظه‌ی اصلی نیز آموختیم. CPU و حافظه جایی‌اند که نرم‌افزار ما در آن‌ها کار می‌کند و اجرا می‌شود. در اصل این منطقه همان جایی‌ست که “فکر کردن” اتفاق می‌افتد.

ولی مشکل اینجاست که ما می‌خواهیم بحث میان سخت‌افزارهای ما ادامه داشته باشد، اما همین که برق برود و سیستم خاموش شود، تمام آنچه در CPU و حافظه اصلی بوده پاک خواهد شد. برنامه‌های پایتونی ما تلاش‌های تفریحیِ ناپایداری خواهند بود که از بین می‌روند.

ماندگاری فایل

در این فصل ما با حافظه‌ی جانبی (یا فایل‌ها) سر و کار داریم. اطلاعات در حافظه‌ی جانبی زمانی‌که سیستم خاموش می‌شود، از بین نمی‌رود؛ یا مثلا برنامه‌ای که نوشته‌ایم می‌تواند بر روی یک حافظه‌ی فلش کپی شده، از سیستم جدا و سپس به یک سیستم دیگر منتقل و اجرا شود.

تمرکز اصلی ما بر روی خواندن و نوشتن فایل‌های متنی مانند همان‌هایی که در ویرایشگر متن می‌نویسیم، خواهد بود. در ادامه یاد خواهیم گرفت که چطور با فایل‌های پایگاه داده که فایل‌های باینری‌اند کار کنیم؛ به‌خصوص آن‌ها که برای خوانده و نوشتن شدن توسط نرم‌افزارهای پایگاه‌ طراحی شده‌اند.

باز کردن فایل‌ها

وقتی قرار است که فایلی را بخوانیم یا بر روی آن بنویسیم (مثلا فایل‌های روی هارد دیسک شما)، ابتدا باید فایل را باز کنیم. باز کردن فایل، برقراری ارتباط با سیستم‌عامل شما به حساب می‌آید. چرا سیستم‌عامل؟ چون سیستم‌عامل است که می‌داند هر فایل در کجا ذخیره شده است. زمانی که شما یک فایل را باز می‌کنید، از سیستم‌عامل می‌پرسید که آن فایل را از طریق نامش پیدا کرده و مطمئن شود که فایل اصلا وجود دارد. در این مثال، ما فایل mbox.txt که در همان فولدر جاری است را باز می‌کنیم؛ منظورمان از فولدر جاری، همان مسیری‌ست که پایتون در آن اجرا شده است. شما می‌توانید فایل را از طریق این لینک دانلود کنید:

http://www.py4e.com/code3/mbox.txt
>>> fhand = open('mbox.txt')
>>> print(fhand)
<_io.TextIOWrapper name='mbox.txt' mode='r' encoding='cp1252'>

اگر عملیات open موفقیت‌آمیز باشد، سیستم عامل یک file handle یا «دستگیره‌ی فایل» باز می‌گرداند. دستگیره‌ی فایل، خودِ داده‌های موجود در فایل نیست، اما در عوض یک «دستگیره» است که ما می‌توانیم با استفاده از آن، داده‌ها را بخوانیم. اگر فایل درخواست‌شده وجود خارجی داشته باشد، شما یک دستگیره خواهید داشت و اگر مجوزهای لازم را در اختیار داشته باشید، فایل خوانده خواهد شد.

دستگیره فایل

اگر فایل وجود خارجی نداشته باشد، open با شکست روبرو شده و شما را به یک تریس‌بک مهمان خواهد کرد. در نهایت شما دستگیره، برای دسترسی به محتویات فایل، نخواهید داشت:

>>> fhand = open('stuff.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'stuff.txt'

در ادامه ما از try و except برای مدیریت موقرانه این حالت استفاده خواهیم کرد. به این صورت وقتی تلاش کردیم که یک فایلی که وجود ندارد را باز کنیم، با تریس‌بکِ خشنِ پایتون چشم‌درچشم نشویم.

این نوشته تحت مجوز کرییتیو کامنز BY – NC و حمایت موسسه تحقیقاتی رامونا ارائه می‌شود. شما می‌توانید با توجه به مفاد این گواهی از آن استفاده کنید.

مقاله را پسندیدید؟ در صورتی که پاسخ‌تان مثبت است، می‌توانید مقاله‌ای که خواندید را به مبلغ ۱۵۰۰ تومان با فشار دادن دکمه زیر بخرید. توجه کنید که ۱۵۰۰ تومان بهای مقاله‌ای است که اکنون خواندید اما به نشان قدردانی از شمایی که مقاله را بعد از خواندن، می‌خرید، به صفحه‌ای از وب‌سایت ایلولا هدایت خواهید شد و مقاله‌های ویژه به صورت فایل PDF در دسترس شما قرار خواهد گرفت. اگر متوجه منظورم نشدید، خواهش می‌کنم مقاله را نخرید چرا که به نظر می‌رسد ما زبان هم را نمی‌فهمیم.

پرداخت شما از طریق سایت امن زرین‌پال به سایت شاپرک (زیر نظر بانک مرکزی) هدایت خواهد شد و امنیت اطلاعات شما - در صورت رعایت نکاتی که در درگاه پرداخت ذکر شده - تضمین شده است. به عنوان راه جایگزین می‌توانید پرداخت را از طریق شماره شبا IR570560080388802621820001 به نام ایمان امینی انجام دهید و رسید را به ایمیل eman.amini روی gmail.com ارسال کنید تا دسترسی به صفحه مذکور به شما اعطا شود.

ایلولا با تکیه بر فروش مقالاتی اداره می‌شود که به رایگان در اختیار شما قرار می‌گیرد. با خرید مقالات می‌توانید آن را زنده نگه دارید. دلیل عدم نمایش تبلیغات، احترام به شما و ذهن‌تان است. می‌توانید در صفحه درباره‌ی ما جزئیات آن را بخوانید.

Whatsapp Telegram
Email Facebook Google Twitter

اولین نفری باشید که نظر می‌گذارد

پاسخ دهید

ایمیل شما نمایش داده نخواهد شد