چطور ببینیم دقیقا چند خط کد نوشتیم

چطور ببینیم دقیقا چند خط کد نوشتیم


سلااامخوبید؟سلامتید؟ حالتون چطوره؟ روزتون پر از دیباگ های موفقه؟ امتحاناتون خوب پیش میره؟ و…داستان از اونجایی شروع شد که من میخواستم ببینم تو بازی دوز cli که ساختم، میخواستم ببینم من دقیقا چند خط کد نوشتم. چون برا تمیز کاری بین خطوط فاصله میذارم. مثلا متغیر ها، فانکشن ها و این چیزا رو با خط خالی جدا میکنم.پس از دو صدم ثانیه فکر کردن به این نتیجه رسیدم که این کار رو بکنم:برید اینجون:https://github.com/mohamad-313/originalLineOfMyFileبرید نگاه کنید ببینید چه خبره.حالا به خاطر شما میذارم و توضیح میدم چه خبره:عکس از گیت هاب خودمخب تو خط اول اومدم از کتابخونه sys که مخفف systemه argv رو ایمپورت کردمحالا argv چی هست؟ میفهمید.شما تا حالا با دستور pip چیزی رو نصب کردید؟یا با دستور python …. چیزی اجرا کردید؟همه اینا آرگومان هستنمثلا ما میخوایم با pip کتابخونه requests رو نصب کنیم.چیکار میکنیم؟pip install requestsخب pip خودش یه نرم افزاره. اینجا ما اینطوری صداش میکنیم. بدون فرمت و ….بعد از pip چند تا چیز میادیکیش installهبعدش هم requests.به چیزایی که بعد از اسم نرم افزار میاد میگن آرگومان های کامند لاین. مفهوم شد دیگه؟متغیر argv هم یه آرایس از آرگومان هایی که ما میدیم بهشمثلا اگه اسم فایل name.py باشه و ما name.py hello install صداش بزنیم، اینا میرن تو argv:argv = [‘name.py’, ‘hello’, ‘install’] یعنی اسم خود نرم افزار میره تو آرایه.اینم در نظر داشته باشید که آرگومان های خط فرمان با فاصله از هم جدا میشن.اگه میخواید مثلا اسم یه فایلی که توش فاصله داره رو به عنوان آرگومان بدید. باید همچین کنید: name.py &quotmy name.txt&quot hellالبته اون hell آخری اضافه بودالبته یه چیزی. اگه ما بگیم python name.py hello install این کلمه python نمیره تو آرایه argv.تموم شد بحث argv.میریم مرحله بعداول به الگوریتم نرم افزار یه نگاهی میندازیم:1- بیا ببین اگر تو آرگومان های کامند لاین اسم فایل رو داده بیا تو متغیر nameOfFile ذخیرش کنو گرنه یه اینپوت درست کن که اسم فایل رو بگیره و بذارتش تو همون متغیر بالا2-تابعی که میخوای برات مقدار خطوط اصلیِ فایل رو بگیره صدا کن و nameOfFile رو به عنوان آرگومان بهش بده.خب حالا اصل مطلب اون تابعه که باید چیکار کنهنگاهی دوباره میکنیمتابع emptryLine:اول از همه باید فایل رو بخونیم. درسته؟خب با تابع open فایل رو میخونیم(خط 4). دو تا آرگومان میخواد. اولی اسم فایله. که بهش nameFile رو میدیم. دومی کاریه که ما میخوایم با فایل انجام بدیم. ما “r” رو انتخاب میکنیم. یعنی میخوایم بخونیمش.اگه کار با فایل بلد نیستید برید اینجابعدش یه متغیر تعریف کردم به نام lines. توی این متغیر چیه؟ آرایه ای از خطوط فایل.حالا چطوری به دستش آوردم؟ با تابع readlines. این f که فایلمونه این تابع رو داره.البته به جز فایل ها تو پایتون string ها هم تابع readlines رو دارن.یه متغیر دیگه هم به نام emptryLineCount که عددیه تعریف کردیم. البته الان مقدارش صفرهبعد اومدیم یه for نوشتیم. که داخل آرایه lines حرکت کنه. هربار هم تو i ذخیرش کنه.گفتیم هر بار که حلقه اجرا میشه بیا نگاه کن ببین اگه strip اون خط مساوی بود با “”، یه دونه به emptryLineCount اضافه کن و اگه مساوی نبود 0 دونه اضافه کن.حال بحث میره سر این که…چیست این strip؟آقا strip یه متدیه که میاد فاصله های اضافه و تب های و این چیزا رو میگیره. من امتحان کردم دیدم اگه یه رشته خالی ” ” بهش بدم “” بر میگردونه.چون ممکن بود بعضی از خط ها تب یا فاصله اضافی داشته باشن ولی خالی باشن اینکار رو کردم.که اینا از دستم در نرن.آخرش مهمهآخرش من گفتم تعداد خطوطی که خالی بودن رو منهای طول آرایه lines(مقدار خط های فایل) کن و چاپش کن.همیونخداحافظیون.لینک گیت هابش:لینک

منبع

Author: admin

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *