بلاگ

پایگـاه اطلاعات علمی جهاد دانشگاهی

کار با ورودی و خروجی (I/O) در پایتون


آموزش پایتون

در این پست مقدمات کار با فایل در پایتون را بررسی می‌کنیم. چگونه می‌توانیم محتویات یک فایل را بخوانیم؟ چگونه در فایلی بنویسیم؟

در هر زبان برنامه‌نویسی، خواندن و نوشتن فایل یک ویژگی مهم محسوب می‌شود. بدون این ویژگی برنامه ما با فایل‌های دیگر تعاملی ندارد و تنها محدود به محیط خود است.

در پایتون در نوع فایل باینری و متنی وجود دارد. اکثر فایل‌هایی که ما در کامپیوتر با آن‌ها کار می‌کنیم نیز از نوع باینری هستند، تصاویر، فایل‌های ورد (docx.)، فایل‌های پایگاه‌داده‌ها (sqlite.) و بسیاری موارد دیگر. این نوع فایل‌ها نیاز به مدیریت خاصی داشته و نوع خاصی از نرم‌افزار برای اجرای آن‌ها نیاز است، مثلا برای بازکردن فایل‌های pdf به یکی از نرم‌افزارهای رایج pdf reader نیاز دارید. در مقابل یک فایل متنی، encoding خاصی نداشته و می‌توان آن را با یک ویرایشگر ساده متن باز کرد.

دوره آموزشی متن کاوی با پایتون مقدماتی (مجازی) 

بازکردن فایل در پایتون

اولین تابعی که برای بازکردن فایل به آن نیاز داریم تابع open است:

file = open('filename.txt', mode)

filename نام فایلی است که می‌خواهید باز کنید. توجه کنید که فایل متنی در همان پوشه‌ای باشد که برنامه پایتون شما در آن قرار دارد. در غیر این صورت باید آدرس فایل را فراهم کنید، مثلا:

'c:/filename.txt'

mode به پایتون می‌گوید که می‌خواهید با این فایل چه بکنید. چند mode برای کار کردن با فایل وجود دارد:

  • ‘r’: این مورد زمانی به کار می‌رود که تنها می‌خواهید فایل را بخوانید و قرار نیست در آن تغییری ایجاد کنید. اشاره‌گر فایل در ابتدای آن قرار می‌گیرد.
  • ‘+r’: این مورد زمانی استفاده می‌شود که می‌خواهید هم از فایل بخوانید و هم در آن تغییراتی ایجاد کنید. اشاره‌گر فایل در ابتدای آن قرار می‌گیرد.
  • ‘w’: این مورد زمانی به کار می‌رود که می‌خواهید در فایل بنویسید. توجه داشته باشید که این مورد فایل را در صورت وجود پاک کرده و فایل جدیدی ایجاد می‌کند. اشاره‌گر فایل در ابتدای آن قرار می‌گیرد.
  • ‘a’: این مورد فایلی باز کرده و به شما اجازه می‌دهد که به انتهای آن داده‌های خود را اضافه کنید. اشاره‌گر فایل در انتهای آن قرار می‌گیرد.

زمانی که با فایل‌های باینری مواجه هستیم، از mode های مشابه استفاده می‌کنیم، با این تفاوت که یک b به انتهای موارد قبل افزوده می‌شود، مثل ‘rb’.

چنان‌چه در کد پیش مشاهده کردید می‌توانیم نتیجه open را که یک شی است در متغیری ذخیره کنیم.

هنگامی که فایل باز شد می‌توانید با استفاده از روش‌های موجود با آن تعامل کنید.

خواندن داده‌ها از فایل

برای این کار از متد read استفاده می‌کنیم. به صورت پیش‌فرض این متد تمام فایل را می‌خواند. باید توجه داشته باشید که اگر حجم فایل مورد نظر بیش‌تر از حافظه شما باشد، نمی‌توانید یکباره به همه آن دسترسی داشته باشید.

file =open("workData.txt", "r+")
print("This is the file name: ", work_data.name)
line = work_data.read()
print(line)

نتیجه:

This is the file name: workData.txt
This data is on line 1
This data is on line 2
This data is on line 3

تابع read پارامتری دریافت می‌کند که از طریق آن‌ می‌توان تعداد کاراکترهای ورودی را محدود کرد:

file.read(5)

که نتیجه آن پنج کاراکتر اول فایل گشوده شده خواهد بود.

خواندن خط به خط فایل

به صورت پیش‌فرض متد readline خط اول فایل را باز می‌گرداند. اما با ارسال پارامتر به آن می‌توان شماره خط مورد نظر برای خواندن را تنظیم کرد.

اگر بخواهیم فایل را خط به خط بخوانیم می‌توان از متد readlines استفاده کرد.

print(file.readlines())

نتیجه به صورت لیست خواهد بود:

['This data is on line 1', 'This data is on line 2', 'This data is on line 3']

نوشتن در فایل

برای نوشتن در یک فایل می‌توان از دستور write استفاده کرد:

file.write("This data is on line 4\n")

n\ نشان‌دهنده انتهای خط است و ادامه متن را به خط بعد منتقل می‌کند.

بستن فایل

بعد از این‌که کار ما با فایل تمام شد، لازم است فایل را ببندیم تا منابع مورد استفاده برای عملیات خواندن و نوشتن آزاد شود. هم‌چنین زمانی که فایل را بستیم اطمینان داریم که تغییرات لازم روی حافظه در فایل مورد نظر ایجاد شده است. برای بستن فایل به صورت زیر عمل می‌کنیم:

file.colse()

بعد از این دیگر نمی‌توانیم به فایل دسترسی داشته باشیم مگر این‌که آن را مجددا باز کنیم.

پست های مرتبط

اضافه کردن پسورد به برگه وردپرس

تاریخ: 1399/12/18

بازدید: 2784

1399

زمان مطالعه: 5 دقیقه دقیقه

وردپرس

مدرس

@ins

اعداد در پایتون

تاریخ: 1399/12/17

بازدید: 1343

1399

زمان مطالعه: 5 دقیقه دقیقه

آموزش پایتون

مدرس

@ins

کتابخانه Terality برای تحلیل داده

تاریخ: 1401/01/27

بازدید: 273

1401

زمان مطالعه: 5 دقیقه دقیقه

کتابخانه Terality یکی از آن کتابخانه هایی است که سعی کرده با حل کردن باگ های مربوط به Pandas جایگزین آن شود .

مدرس

@ins

چگونه با استفاده از کلب به دیتا دسترسی داشته باشیم؟

تاریخ: 1401/04/29

بازدید: 55

1401

زمان مطالعه: 2 دقیقه

چگونه با استفاده از Google Colaboratory به گوگل شیت دسترسی داشته باشیم؟

مدرس

@ins

کتابخانه های پایتون برای متن کاوی

تاریخ: 1400/03/17

بازدید: 1556

1400

زمان مطالعه: 5 دقیقه دقیقه

پکیج های پایتون

مدرس

@ins

کدام وب سایت ها از پایتون استفاده می کنند

تاریخ: 1400/01/01

بازدید: 3126

1400

زمان مطالعه: 5 دقیقه دقیقه

websites built with django

مدرس

@ins

کامنت در پایتون

تاریخ: 1399/12/17

بازدید: 1096

1399

زمان مطالعه: 5 دقیقه دقیقه

آموزش گذاشتن کامنت در پایتون

مدرس

@ins

محبوب ترین کتابخانه های هوش مصنوعی

تاریخ: 1400/10/07

بازدید: 840

1400

زمان مطالعه: 5 دقیقه دقیقه

GitHub بزرگ ترین و پیشرفته‌ ترین پلتفرم توسعه در جهان است . میلیون‌ها توسعه‌دهنده و شرکت، نرم‌افزار خود را در GitHub می‌سازند و نگهداری می‌کنند .

مدرس

@ins

شروع پايتون در anaconda

تاریخ: 1399/12/17

بازدید: 2044

1399

زمان مطالعه: 5 دقیقه دقیقه

آموزش پایتون

مدرس

@ins

نحوه استفاده از google analytics در وردپرس

تاریخ: 1400/03/31

بازدید: 1619

1400

زمان مطالعه: 5 دقیقه دقیقه

آموزش وردپرس

مدرس

@ins