পাইথন সিএলআই-এ একটি অগ্রগতি বার তৈরি করুন

পাইথন সিএলআই-এ একটি অগ্রগতি বার তৈরি করুন

আপনি যখনই একটি ফাইল ডাউনলোড করেন বা একটি গেম শুরু করেন, আপনি একটি নান্দনিক অ্যানিমেশন দেখতে পান যা সম্পূর্ণ হওয়া পর্যন্ত নিজেকে আপডেট করে। এটি একটি অগ্রগতি বার. একটি অগ্রগতি বার হল একটি গ্রাফিকাল উপাদান যা ফাইল ডাউনলোড, আপলোড বা স্থানান্তরের মতো কাজের অগ্রগতি কল্পনা করতে ব্যবহৃত হয়।





দুটি ধরণের অগ্রগতি বার রয়েছে: নির্ধারণ এবং অনির্দিষ্ট। প্রগতি বার নির্ধারণ করুন সময়ের সাথে একটি কাজের অগ্রগতি ট্র্যাক করে। একটি লুপিং অ্যানিমেশন সহ অনির্দিষ্ট অগ্রগতি বার অসীমভাবে চলে।





দিনের মেকইউজের ভিডিও

সুতরাং, কিভাবে আপনি একটি Python CLI প্রোগ্রামে একটি নির্ধারিত অগ্রগতি বার তৈরি করতে পারেন?





tqdm মডিউল কি?

tqdm হল একটি মডিউল যা প্রাথমিকভাবে ক্যাসপার দা কোস্টা-লুইস এবং দশজন অন্যান্য সদস্য দ্বারা রক্ষণাবেক্ষণ করে। tqdm আরবি শব্দ তাকাদ্দুম থেকে এসেছে যার অর্থ হতে পারে 'প্রগতি' এবং এটি স্প্যানিশ ভাষায় 'আমি তোমাকে অনেক ভালোবাসি' এর সংক্ষিপ্ত রূপ (te quiero demasiado)।

tqdm মডিউল ব্যবহার করে আপনি আপনার টার্মিনালে একটি আকর্ষণীয়, কার্যকরী অগ্রগতি বার তৈরি করতে পারেন। tqdm মডিউল ইনস্টল করতে, আপনার টার্মিনাল খুলুন এবং চালান:



pip install tqdm

সময় মডিউল কি?

পাইথনের স্ট্যান্ডার্ড ইউটিলিটি মডিউল অন্তর্ভুক্ত সময় মডিউল ডিফল্টরূপে, তাই আপনাকে এটি ইনস্টল করতে হবে না। আপনি আপনার অ্যাপ্লিকেশনগুলিতে বিলম্ব যোগ করতে সময় মডিউলে প্রদত্ত ঘুম ফাংশন ব্যবহার করতে পারেন যা বারটির অগ্রগতি কল্পনা করতে সহায়তা করবে।

আপনি তারিখ এবং সময় পেতে সময় মডিউল ব্যবহার করতে পারেন, কাজের সময়সূচী করতে, এবং একটি মত দরকারী অ্যাপ্লিকেশন তৈরি করতে পারেন সাধারণ অ্যালার্ম ঘড়ি , বা একটি স্টপওয়াচ।





কীভাবে একটি অগ্রগতি বার যুক্ত করবেন এবং এটি কাস্টমাইজ করবেন

ডিফল্ট অগ্রগতি বার ব্যবহার করা সহজ এবং আপনি এটি বিভিন্ন বিকল্পের সাথে কাস্টমাইজ করতে পারেন।

1. সাধারণ অগ্রগতি বার

আপনি tqdm মডিউল থেকে tqdm ক্লাস এবং টাইম মডিউল থেকে স্লিপ ফাংশন আমদানি করে একটি সাধারণ অগ্রগতি বার তৈরি করতে পারেন। একটি লুপ ব্যবহার করুন এবং আপনার পছন্দসই পরিসরে tqdm পুনরাবৃত্তি করুন।





পরিসীমা 9e9 (নয় বিলিয়ন) পর্যন্ত যেকোনো কিছু হতে পারে। বিলম্ব যোগ করার জন্য স্লিপ ফাংশনে সেকেন্ডের সংখ্যা পাস করুন যাতে আপনি প্রগতি বারটি কর্মে ভিজ্যুয়ালাইজ করতে এবং দেখতে পারেন।

আপনি এই মত একটি সহজ অগ্রগতি বার বাস্তবায়ন করতে পারেন:

from tqdm import tqdm 
from time import sleep

for i in tqdm(range(100)):
sleep(.1)

tqdm ইম্পোর্ট করার পরিবর্তে, আপনি tqdm এবং রেঞ্জকে একত্রিত করতে এবং সরাসরি প্যারামিটারটি পাস করতে tqdm মডিউল থেকে trange আমদানি করতে পারেন।

from tqdm import trange 
from time import sleep

for i in trange(100):
sleep(.1)

একটি সাধারণ অগ্রগতি বার তৈরি করার সময় আপনি যে আউটপুটটি পান তা এইরকম দেখাচ্ছে:

  সহজ অগ্রগতি বার

এই আউটপুটে সময়ের পরিসংখ্যান সহ অগ্রগতির গ্রাফিকাল এবং পাঠ্য সংস্করণ অন্তর্ভুক্ত রয়েছে।

2. বর্ণনা পাঠ্য সহ অগ্রগতি বার

আপনি এর উদ্দেশ্য ব্যাখ্যা করতে অগ্রগতি বারে একটি বর্ণনামূলক লেবেল যোগ করতে পারেন। আপনি যে পাঠ্যটি প্রদর্শন করতে চান তা ডবল উদ্ধৃতিতে মোড়ানো হিসাবে পাস করুন বর্ণনা প্যারামিটার:

for i in tqdm(range(0, 10), desc ="Progress: "): 
sleep(.4)

অগ্রগতি বারের সাথে একটি বর্ণনা পাঠ্য যোগ করার সময় আপনি যে আউটপুটটি পান তা দেখতে এইরকম:

  পাঠ্য সহ অগ্রগতি বার

3. কাস্টমাইজড প্রস্থ সহ অগ্রগতি বার

ডিফল্টরূপে, অগ্রগতি বারের প্রস্থ আউটপুট উইন্ডোর আকারে গতিশীল সেট করা হয়। এর সাহায্যে আপনি আপনার পছন্দ অনুযায়ী কাস্টমাইজ করতে পারেন ncols প্যারামিটার

কিভাবে ইউটিউবে আপনার সাবস্ক্রাইবার দেখবেন

আপনি কাস্টমাইজড প্রস্থ সহ একটি অগ্রগতি বার বাস্তবায়ন করতে পারেন:

for i in tqdm(range(0, 10), ncols = 100, desc ="Progress: "): 
sleep(.1)

অগ্রগতি বারের প্রস্থকে দীর্ঘায়িত করার জন্য আপনি যে আউটপুটটি পান তা দেখতে এইরকম:

  বিবরণ এবং ncols সহ অগ্রগতি বার

4. রঙ ব্যবহার করে অগ্রগতি বার

আপনি রঙের প্যারামিটার ব্যবহার করে অগ্রগতি বারের রঙ কাস্টমাইজ করতে পারেন। আপনি এটি দুটি উপায়ে করতে পারেন:

  1. রঙের নাম: আপনি রঙের নাম ব্যবহার করতে পারেন যেমন সবুজ, কালো, সায়ান এবং আরও অনেক কিছু।
  2. হেক্স কোড: হেক্স কোড একটি বিন্যাস যেখানে কম্পিউটার রঙ সংরক্ষণ করে। আপনি একটি হ্যাশ (#) এর সাথে হেক্সাডেসিমেলে 6টি অক্ষর (0-9, a-f) দিয়ে হেক্স রঙ বোঝাতে পারেন। হেক্স কোড #000000 কালো প্রতিনিধিত্ব করে যখন #ffffff সাদা প্রতিনিধিত্ব করে। এই সংখ্যাগুলির তীব্রতা পরিবর্তিত করে, আপনি রঙের বিভিন্ন শেড পাবেন। আপনি ব্যবহার করতে পারেন গুগল থেকে কালার পিকার টুল হেক্স কোডের রঙ নির্বাচন এবং পেস্ট করতে।

আপনি কাস্টমাইজড রঙ সহ একটি অগ্রগতি বার বাস্তবায়ন করতে পারেন:

for i in tqdm(range(0, 100), colour="#00ffff", desc ="Progress: "): 
sleep(.1)

অগ্রগতি বারের রঙ পরিবর্তন করার সময় আপনি যে আউটপুট পাবেন:

  রঙ সহ অগ্রগতি বার

5. সর্বনিম্ন ব্যবধান সহ অগ্রগতি বার

আপনি একটি অগ্রগতি বার তৈরি করতে পারেন যা অগ্রগতি যা ডিফল্ট সেটিংসের পরিবর্তে ন্যূনতম ব্যবধানে আপডেট হয়। আপনি 1.5 বা 2 এর মতো একটি সংখ্যা পাস করতে পারেন যা দুটি আপডেটের মধ্যে ব্যবধান হিসাবে কাজ করবে। ন্যূনতম ব্যবধানের ডিফল্ট মান হল 0.1।

আপনি একটি ন্যূনতম ব্যবধান সহ একটি অগ্রগতি বার বাস্তবায়ন করতে পারেন:

for i in tqdm(range(0, 100), mininterval = 2, desc ="Progress: "): 
sleep(.1)

অগ্রগতি বারে একটি ন্যূনতম ব্যবধান উল্লেখ করে আপনি যে আউটপুট পাবেন:

  মিনিটের ব্যবধান সহ অগ্রগতি বার

6. ASCII অক্ষর ব্যবহার করে প্রগ্রেস বার

আপনি স্ক্রিনে দেখতে পাওয়া সাধারণ বারগুলির পরিবর্তে ASCII অক্ষর ব্যবহার করে একটি অগ্রগতি বার তৈরি করতে পারেন। ASCII অক্ষর ব্যবহার করতে সেট করুন ascii পছন্দসই বিন্যাসে পরামিতি।

যদি আপনি মত কিছু ব্যবহার 12345* , পরিসরের প্রতিটি কলাম এক থেকে তারকা ক্রমানুসারে পুনরাবৃত্তি করে। যদিও এটি শীতল এবং কাস্টমাইজযোগ্য, বাস্তব অ্যাপ্লিকেশনগুলিতে এটি ব্যবহার করার সময় ব্যবহারকারী-বান্ধব ব্যবহার নিশ্চিত করুন৷

আপনি ASCII অক্ষর ব্যবহার করে একটি অগ্রগতি বার বাস্তবায়ন করতে পারেন:

for i in tqdm(range(0, 100), ascii ="12345*"): 
sleep(.1)

অগ্রগতি বারে ASCII অক্ষর ব্যবহার করে আপনি যে আউটপুটটি পান তা দেখতে এইরকম:

  ASCII অক্ষর সহ অগ্রগতি বার

7. নির্দিষ্ট স্টার্ট পয়েন্ট ব্যবহার করে প্রগ্রেস বার

শূন্য থেকে অগ্রগতি বার শুরু করার পরিবর্তে, আপনি অগ্রগতি বারের জন্য একটি নির্দিষ্ট সূচনা পয়েন্ট সেট করতে পারেন। 50 এর মত একটি প্রারম্ভিক মান পাস করুন প্রাথমিক প্যারামিটার

আপনি একটি নির্দিষ্ট স্টার্ট পয়েন্ট ব্যবহার করে একটি অগ্রগতি বার বাস্তবায়ন করতে পারেন:

for i in tqdm(range(0, 100), initial = 50, desc ="Progress: "): 
sleep(.1)

একটি নির্দিষ্ট বিন্দুতে অগ্রগতি বার শুরু করার সময় আপনি যে আউটপুটটি পাবেন:

  প্রাথমিক পরামিতি সহ অগ্রগতি বার

8. একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তি সহ অগ্রগতি বার

আপনি একটি প্রগতি বার তৈরি করতে পারেন যা একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তি চালায়। আপনি যদি 50000 এর মধ্যে 500টি পুনরাবৃত্তি চালাতে চান, তাহলে পরিসীমা হিসাবে 500টি এবং পুনরাবৃত্তির মোট সংখ্যা হিসাবে 50000টি পাস করুন মোট প্যারামিটার

আপনি একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তি ব্যবহার করে একটি অগ্রগতি বার বাস্তবায়ন করতে পারেন:

for i in tqdm(range(0, 500), total = 50000, desc ="Progress: "): 
sleep(.1)

একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তি সহ একটি অগ্রগতি বার ব্যবহার করে আপনি যে আউটপুটটি পাবেন:

  নির্দিষ্ট সংখ্যক পুনরাবৃত্তি সহ অগ্রগতি বার

অগ্রগতি বারের অ্যাপ্লিকেশন

আপনি মিডিয়া প্লেয়ারের প্লেব্যাক বা অনলাইন ফর্মের মাধ্যমে পদক্ষেপগুলি দেখানোর মতো বিভিন্ন পরিস্থিতিতে অগ্রগতি বারগুলি দেখতে পাবেন।

একটি অগ্রগতি বার নান্দনিক দেখায় এটি ব্যবহারকারীকে প্রতিক্রিয়া প্রদানের একটি গুরুত্বপূর্ণ কাজ করে যার অনুপস্থিতিতে তারা ওয়েবসাইটটি ছেড়ে চলে যাবে।