অধ্যায় 02

টার্মিনাল, ফোল্ডার আর প্রথম প্রজেক্ট

টার্মিনাল থেকে ফোল্ডারে ঘোরাফেরা করুন, প্রজেক্ট ফোল্ডার বানান, ফাইল চালান, এবং পাইথনের ইন্টারঅ্যাক্টিভ শেল কখন কাজে লাগে তা বুঝুন।

25 মিনিটPython 3.12
  1. 1সমস্যা
  2. 2বোঝা
  3. 3উদাহরণ
  4. 4অনুমান
  5. 5নিজে করা
  6. 6কঠিন করা

যে সমস্যাটা আমরা সমাধান করছি

আগের মিশনে আপনি পাইথন ইনস্টল করেছেন আর একটা ফাইল চালিয়েছেন। কিন্তু সেখানে একটা জিনিস চুপচাপ ঘটেছিল — ফাইলটি চালানোর আগে আপনাকে টার্মিনালে ওই ফোল্ডারে যেতে হয়েছিল।

এই "যাওয়া" জিনিসটাই নতুনদের সবচেয়ে বেশি আটকে দেয়। কোড ঠিক, পাইথন ঠিক, কিন্তু টার্মিনাল অন্য ফোল্ডারে বসে আছে — আর পাইথন বলছে ফাইলটাই নেই।

চাকরিতে আপনি দিনে কয়েকশো বার এই কাজটা করবেন। তাই আজ আমরা টার্মিনালটাকে অচেনা কালো পর্দা থেকে একটা চেনা যন্ত্রে বদলে নেব।

এই মিশন শেষে আপনি পারবেন

  • টার্মিনাল এখন কোন ফোল্ডারে আছে তা বলতে
  • এক ফোল্ডার থেকে আরেক ফোল্ডারে যেতে, আর এক ধাপ পিছিয়ে আসতে
  • একটা প্রজেক্ট ফোল্ডার তৈরি করে তার ভেতরে ফাইল চালাতে
  • পাইথনের ইন্টারঅ্যাক্টিভ শেল (REPL) খুলতে ও বন্ধ করতে
  • REPL আর .py ফাইলের পার্থক্য বুঝতে — এই একটা ভুল বোঝাবুঝি অনেক সময় নষ্ট করে

আগে যা জানা লাগবে: পাইথন ইনস্টল করা ও প্রথম প্রোগ্রাম চালানো।


টার্মিনাল আসলে কী

টার্মিনাল একটা জায়গা যেখানে আপনি লিখে কম্পিউটারকে আদেশ দেন, মাউস দিয়ে ক্লিক করার বদলে। আর প্রতিটি টার্মিনাল উইন্ডো সব সময় কোনো একটা ফোল্ডারের ভেতরে "দাঁড়িয়ে" থাকে। ওটাকে বলে কারেন্ট ডিরেক্টরি — বর্তমান ফোল্ডার।

এটাই মূল ধারণা। আপনি যখন লিখছেন python hello.py, তখন আসলে বলছেন: "এই মুহূর্তে যে ফোল্ডারে আছি, সেখানকার `hello.py` ফাইলটি চালাও।" ফাইলটি অন্য ফোল্ডারে থাকলে পাইথন সেটা খুঁজে পাবে না — কারণ সে অন্য কোথাও খোঁজেই না।

PowerShell খুললে সাধারণত দেখবেন এরকম কিছু:

text
PS C:\Users\Rafi>

C:\Users\Rafi অংশটাই বলে দিচ্ছে আপনি এখন কোথায় আছেন।

চারটি কমান্ড, যেগুলো দিয়ে কাজ চলে যায়

pwd — আমি কোথায়?

text
pwd
text
Path
----
C:\Users\Rafi

dir — এখানে কী কী আছে?

text
dir

ফোল্ডার আর ফাইলের একটা তালিকা দেখাবে। ফাইল চালানোর আগে dir দিয়ে দেখে নেওয়া ভালো অভ্যাস — যে ফাইলটা চালাতে চান, সেটা আসলেই তালিকায় আছে কি না।

cd — অন্য ফোল্ডারে যাও

text
cd D:\python-lab

এক ধাপ পিছিয়ে যেতে দুটো ডট:

text
cd ..

D: ড্রাইভে যেতে হলে PowerShell-এ শুধু cd D:\ লিখলেই হয়।

টাইপ করার কষ্ট কমান। ফোল্ডার বা ফাইলের নামের প্রথম দু-তিনটি অক্ষর লিখে Tab চাপুন — টার্মিনাল বাকিটা নিজেই বসিয়ে দেবে। নামে ভুল হওয়ার সবচেয়ে বড় কারণ হাতে টাইপ করা, আর Tab সেটাই বন্ধ করে দেয়।

mkdir — নতুন ফোল্ডার বানাও

text
mkdir lesson-02

একটা প্রজেক্ট ফোল্ডার গুছিয়ে নিন

শেখার সময় সব ফাইল ডেস্কটপে ছড়িয়ে রাখলে এক সপ্তাহ পরেই আর কিছু খুঁজে পাওয়া যায় না। তাই একটাই জায়গা ঠিক করে নিন, আর প্রতিটি মিশনের জন্য আলাদা ফোল্ডার:

text
cd D:\
mkdir python-lab
cd python-lab
mkdir lesson-02
cd lesson-02
pwd

শেষ কমান্ডটির উত্তর হওয়া উচিত:

text
Path
----
D:\python-lab\lesson-02

এখন এই ফোল্ডারে notes.py নামে একটা ফাইল তৈরি করুন, ভেতরে লিখুন:

python
print("Folder:", "lesson-02")
print("Squares:", 2 * 2, 3 * 3, 4 * 4)

আর চালান:

text
python notes.py
text
Folder: lesson-02
Squares: 4 9 16

পাইথনের ইন্টারঅ্যাক্টিভ শেল

টার্মিনালে শুধু python লিখে এন্টার চাপলে পাইথন নিজেই খুলে বসে:

text
python
text
Python 3.12.0 (tags/v3.12.0) on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

ওই >>> চিহ্নটা মানে পাইথন এখন আপনার লাইনের অপেক্ষায়। এখানে যা লিখবেন, সাথে সাথে উত্তর পাবেন:

text
>>> 2 + 3
5
>>> "Python"
'Python'
>>> len("terminal")
8

একে বলা হয় REPL — পড়া, চালানো, ছাপা, আবার শুরু (Read, Eval, Print, Loop)। ছোট কিছু যাচাই করার জন্য এটা দুর্দান্ত: একটা হিসাব ঠিক আছে কি না, বা একটা ফাংশন কী ফেরত দেয়।

বেরিয়ে আসতে:

text
>>> exit()
যে পার্থক্যটা অনেকের সময় নষ্ট করে: REPL-এ 2 + 3 লিখলে সে নিজে থেকেই 5 দেখায়। কিন্তু একটা .py ফাইলে শুধু 2 + 3 লিখে চালালে কিছুই দেখা যায় না — পাইথন হিসাবটা করে, ফলাফলটা ফেলে দেয়, আর চুপ করে থাকে। ফাইলে ফলাফল দেখতে চাইলে print লিখতেই হবে। এটাই REPL আর স্ক্রিপ্টের আসল পার্থক্য।

কিছু ভাঙা অবস্থা ও তার সমাধান

python : The term 'python' is not recognized... পাইথন PATH-এ নেই। আগের মিশনের "কিছু ভাঙা অবস্থা" অংশটি দেখুন — ইনস্টলার আবার চালিয়ে Modify থেকে ঘরটি টিক দিতে হবে।

can't open file '...notes.py': [Errno 2] No such file or directory টার্মিনাল ভুল ফোল্ডারে আছে, অথবা ফাইলের নামে টাইপো। pwd দিয়ে দেখুন কোথায় আছেন, তারপর dir দিয়ে দেখুন ফাইলটা সেখানে আছে কি না।

cd : Cannot find path 'D:\python-lab' because it does not exist ফোল্ডারটা এখনো বানানো হয়নি, নয়তো নামে ভুল আছে। mkdir দিয়ে বানিয়ে নিন, আর পরের বার নাম লেখার সময় Tab চাপুন।

টার্মিনাল আটকে গেছে, শুধু >>> দেখাচ্ছে আপনি REPL-এর ভেতরে আছেন, বাইরে নন। এখানে dir বা python notes.py কাজ করবে না — এগুলো টার্মিনালের কমান্ড, পাইথনের নয়। exit() লিখে বেরিয়ে আসুন।

ফোল্ডারের নামে স্পেস আছে পুরো পথটা কোটেশনের ভেতরে দিন: cd "D:\my python lab"। স্পেস ছাড়া নাম রাখলে এই সমস্যা আর হবে না — তাই python-lab, my_notes এভাবে লেখা ভালো।