مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resources

بلاگ

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

کار با ورودی و خروجی (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()

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

لینک کوتاه

لینک کوتاه

بازگشت به بالا

پست های مرتبط

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

تاریخ: 1400/10/07

بازدید: 3974

1400

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

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

مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

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

تاریخ: 1399/12/17

بازدید: 1859

1399

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

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

مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

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

تاریخ: 1400/03/17

بازدید: 3608

1400

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

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

مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

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

تاریخ: 1400/01/01

بازدید: 4331

1400

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

websites built with django

مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

hashable و unhashable

تاریخ: 1400/01/06

بازدید: 2673

1400

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

ارور پایتون

مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

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

تاریخ: 1399/12/18

بازدید: 4214

1399

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

وردپرس

مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

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

تاریخ: 1401/04/29

بازدید: 6854

1401

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

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

مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

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

تاریخ: 1399/12/17

بازدید: 3676

1399

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

آموزش پایتون

مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

رفع تحریم‌های برنامه نویسی با پلتفرم 403

تاریخ: 1401/12/03

بازدید: 2751

1401

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

یکی از دغدغه‌های کاربران ایرانی تحریم‌های استفاده از سرویس‌های جهانی است.

مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

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

تاریخ: 1399/12/17

بازدید: 3045

1399

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

آموزش پایتون

مرکز اطلاعات علمی Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

telegram sharing button
whatsapp sharing button
linkedin sharing button
twitter sharing button
email sharing button
email sharing button
email sharing button
sharethis sharing button