محبوب مثل پایتون! (قسمت هشتم)

زبان برنامه نویسی پایتون cheyab.ir

در این سری از دوره آموزش برنامه نویسی پایتون به انواع روش های خروجی و ورودی می‌پردازیم.

همانطور که در “محبوب مثل پایتون!(قسمت دوم)” دیدید، برای خروجی گرفتن از کد و برنامه از دستور print استفاده کردیم؛ همچنین در آموزش قبل با دستوری به نام input آشنا شدید که برای دریافت داده از کاربر (کیبورد) استفاده شد.

در ابتدا مروری بر این دو دستور پایتون خواهیم داشت سپس به سراغ روش جدیدی برای دریافت و خروج اطلاعات خواهیم رفت.

  • چاپ اطلاعات روی صفحه‌ی نمایش

بدین منظور از  دستور print استفاده می‌شود. سینتکس و ساختار این دستور به صورت زیر است.

print(“TEXT”);
  • دریافت اطلاعات از کاربر (توسط کیبورد)

بدین منظور از دستور input استفاده میکنیم که این دستور تمام اطلاعاتی که کاربر به وسیله‌ی کیبورد تابپ میکند را دریافت میکند و در متغیری که برای آن قرار داده شده، می‌ریزد.

دوره های اموزشی برنامه نویسی

تایپ متغیری که اطلاعات ورودی در آن ریخته میشود در نسخه‌ی ۳ به بعد پایتون به صورت پیش‌فرض رشته یا string است که در قسمت ششم از دوره آموزش برنامه نویسی پایتون چ یاب متوجه شدید که چطور ورودی عددصحیح دریافت کنید.

ساختارکلی و سینتکس این دستور به صورت ذیل می‌باشد:

Variable = input(“enter your request”);

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

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

  • دستور ()open

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

ساختارآن را در ذیل مشاهده میکنید.

file object = open( file_name , access_mode );
  • file object مانند یک متغیر عمل می‌کند که دارای یک فایل است و هرگاه بخواهید عملیاتی روی فایل بازشده انجام دهید باید از آن استفاده کنید.
  • File_name نام فایلی است که قصد بازکردن آن را دارید این نام به صورت رشته یا string وارد میشود و در “” قرار می‌گیرد. همچنین این رشته باید شامل نام فایل و پسوند آن باشد در ادامه بیشتر متوجه نحوه‌ی ورود نام فایل خواهید شد.
  • access_mode نحوه‌ی دسترسی به فایل را مشخص می‌کند مثلا فایل خواندنی باشد یا نوشتنی و … که در جدول آورده شده است. این خصوصیت نیز در “” قرار می‌گیرد.

نکته : اگر دستور   open را به منظور ایجاد فایل استفاده میکنید حتما لازم است که access_mode آن را مشخص کنید؛ چنانچه فایل از قبل ایجاد شده بود میتوانید این خصوصیت را وارد نکنید و سیستم به طور پیش‌فرض فایل را به صورت خواندنی باز می‌کند.

به مثال زیر توجه کنید:

o = open("b.txt","w");

کد بالا فایلی با نام b.txt از نوع فقط قابل نوشتن در پوشه‌ای که کد درآن ذخیره شده است، ایجاد می‌کند.

فایل به صورت فقط خواندنی بازمی‌شود و اشاره‌گر به ابتدای فایل اشاره می‌کند. r
فایل به صورت فقط خواندنی با فرمت باینری بازمی‌شود و اشاره‌گر به ابتدای فایل اشاره می‌کند. rb
فایل به صورت خواندنی و نوشتنی بازمی‌شود و اشاره‌گر به ابتدای فایل اشاره می‌کند. +r
فایل به صورت خواندنی و نوشتنی با فرمت باینری بازمی‌شود و اشاره‌گر به ابتدای فایل اشاره می‌کند. +rb
فایل به صورت فقط نوشتنی بازمی‌شود، اگر فایل وجود داشت دوباره روی آن مینویسد و اگر فایل وجود نداشت آن را ایجاد می‌کند. w
فایل به صورت فقط نوشتنی با فرمت باینری بازمی‌شود، اگر فایل وجود داشت دوباره روی آن مینویسد و اگر فایل وجود نداشت آن را ایجاد می‌کند. wb
فایل به صورت نوشتنی و خواندنی باز می‌شود، اگر فایل وجود داشت دوباره روی آن مینویسد و اگر فایل وجود نداشت آن را ایجاد می‌کند. +w
فایل به صورت نوشتنی و خواندنی با فرمت باینری باز می‌شود، اگر فایل وجود داشت دوباره روی آن مینویسد و اگر فایل وجود نداشت آن را ایجاد می‌کند. +wb
فایل را برای عمل اضافه کردن باز می‌کند، بدین صورت که اگر فایل وجود نداشت آن را ایجاد میکند و اگر وجودداشت از خط آخر فایل به نوشتن ادامه می‌دهد. a
فایل را برای عمل اضافه کردن با فرمت باینری باز می‌کند، بدین صورت که اگر فایل وجود نداشت آن را ایجاد میکند و اگر وجودداشت از خط آخر فایل به نوشتن ادامه می‌دهد. ab
فایل را برای عمل اضافه کردن و خواندن باز می‌کند، بدین صورت که اگر فایل وجود نداشت آن را ایجاد میکند و اگر وجودداشت از خط آخر فایل به نوشتن ادامه می‌دهد. +a
فایل را برای عمل اضافه کردن و خواندن با فرمت باینری باز می‌کند، بدین صورت که اگر فایل وجود نداشت آن را ایجاد میکند و اگر وجودداشت از خط آخر فایل به نوشتن ادامه می‌دهد. +ab
  • دستور ()close

این دستور دقیقا برعکس دستور    open عمل می‌کند، بدین صورت که فایلی را که باز است، می‌بندد. به مثال توجه کنید.

o = open("b.txt","w");

print("\n result of file.closed is : " , o.closed);

o.close();

print("\n result of file.closed is : " , o.closed);

پایتون چ‌یاب cheyab.ir

  • صفات فایل‌ها

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

اگر فایل بسته باشد  true برمی‌گرداند درغیر این صورت false. File.closed
حالت فایل را نشان می‌دهد؛ مثلا فقط قابل خواندن است یا بقیه‌ی موارد. File.mode
نام فایل را برمی‌گرداند. File.name

مثالی درباره‌ی صفات فایل‌ها:

o = open("b.txt","w");

print("\n result of file.closed is : " , o.closed);

print("\n result of file.mode is : " , o.mode);

print("\n result of file.name is : " , o.name);

پایتون چ‌یاب cheyab.ir

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

  • دستور ()write

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

مثال:

o = open("b.txt","w");

o.write("Python is the best language!!! \n cheyab.ir");

  • دستور read()

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

file = open("b.txt","r");

print(file.read(5));
print(file.read());
  • دستور ()rename

این دستور برای تغییر نام فایل استفاده می‌شود و در ابتدا لازم است کتابخانه‌ی os را برای استفاده از آن import کنید.

ساختار دستور :

os.rename(current_file_name, new_file_name)

مثال:

import os

os.rename( "test1.txt", "test2.txt" )
  • دستور ()remove

این دستور برای حذف فایل است و ساختار آن به صورت زیر است.

import os

os.remove(file_name)

در جدول زیر تعدادی از دستورات مربوط به فایل آمده است .

()File.next خط بعدی فایل را برمی‌گرداند.
()File.readline یک خط از فایل می‌خواند.
File.seek(offset,[whence]) موقعیت فعلی اشاره‌گر درون فایل را عوض می‌کند.
()File.tell موقعیت فعلی اشاره‌گر درون فایل را برمی‌گرداند.

()File.writelines

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

در قسمت بعدی از دوره آموزش برنامه نویسی پایتون با دستورات بیشتری پیرامون ایجاد پوشه آشنا خواهید شد، همچنین به بررسی بیشتر مبحث فایل خواهیم پرداخت سپس پروژه‌ای تعریف خواهیم کرد و به توضیح آن می‌پردازیم.

با ما همراه باشید.

راستی!

جهت اطلاع از آخرین اخبار و آموزش های ما می‌توانید در کانال تلگرام چ یاب عضو شوید.

متولد خوزستان | فارغ‌التحصیل رشته مهندسی کامپیوتر 💻 | علاقه‌مند به عکاسی 📸، فوتبال ⚽ و برنامه‌نویسی