در این سری از دوره آموزش برنامه نویسی پایتون به انواع روش های خروجی و ورودی میپردازیم.
همانطور که در “محبوب مثل پایتون!(قسمت دوم)” دیدید، برای خروجی گرفتن از کد و برنامه از دستور 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);
-
صفات فایلها
هنگامی که یک فایل را باز کنید میتوانید با استفاده از دستورات زیر به یک سری از خصوصیات فایلها دسترسی داشته باشید.
اگر فایل بسته باشد 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);
تمام مباحثی که در این پست تا اینجا یادگرفتهاید صرفا جهت ایجادکردن، بازکردن و بستن یک فایل بود اکنون میخواهیم در مورد خواندن از فایل و نوشتن روی آن توضیح دهیم.
-
دستور ()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 |
یک توالی از رشته روی فایل مینویسد. |
در قسمت بعدی از دوره آموزش برنامه نویسی پایتون با دستورات بیشتری پیرامون ایجاد پوشه آشنا خواهید شد، همچنین به بررسی بیشتر مبحث فایل خواهیم پرداخت سپس پروژهای تعریف خواهیم کرد و به توضیح آن میپردازیم.
با ما همراه باشید.
راستی!
جهت اطلاع از آخرین اخبار و آموزش های ما میتوانید در کانال تلگرام چ یاب عضو شوید.
ارسال پاسخ
نمایش دیدگاه ها