কম্পিউটার

POSIX স্টাইল TTY নিয়ন্ত্রণ পাইথন ব্যবহার করে


টার্মিওস মডিউল tty I/O নিয়ন্ত্রণের জন্য POSIX-কে একটি ইন্টারফেস প্রদান করে। এটি শুধুমাত্র ইউনিক্স সিস্টেমের জন্য উপলব্ধ৷

টার্মিওস মডিউল ব্যবহার করতে, আমাদের এটি −

ব্যবহার করে আমদানি করা উচিত
import termios

এই মডিউলের সমস্ত পদ্ধতি, ফাইল বর্ণনাকারীকে একটি যুক্তি হিসাবে গ্রহণ করে। টার্মিওস মডিউলের কিছু মডিউল আছে, সেগুলো হল −

পদ্ধতি termios.tcgetattr(fd)

এই পদ্ধতিটি প্রদত্ত ফাইল বর্ণনাকারীর জন্য tty বৈশিষ্ট্যগুলির একটি তালিকা প্রদান করে। বৈশিষ্ট্যগুলি হল iflag, oflag, cflag, lflag, ispeed, ospeed, cc৷

পদ্ধতি termios.tcsetattr(fd, when, attributes)

এই পদ্ধতিটি বৈশিষ্ট্যের তালিকা থেকে বৈশিষ্ট্য সেট করতে ব্যবহৃত হয়। দ্বিতীয় যুক্তি নির্ধারণ করে কখন বৈশিষ্ট্য পরিবর্তন করা হবে। যখন বিভাগের জন্য কিছু ধ্রুবক আছে। এগুলো হল -

Sr.No. যখন বৈশিষ্ট্য এবং অর্থ
1

TCSANOW

অবিলম্বে বৈশিষ্ট্য পরিবর্তন করুন

2

TCSAdrain

সমস্ত সারিবদ্ধ আউটপুট প্রেরণ করার পরে বৈশিষ্ট্য পরিবর্তন করুন

3

TCSAFLUSH

সমস্ত সারিবদ্ধ আউটপুট প্রেরণ করার পরে বৈশিষ্ট্য পরিবর্তন করুন এবং সমস্ত সারিবদ্ধ ইনপুটগুলি বাতিল করুন৷

পদ্ধতি termios.tcsendbreak(fd, সময়কাল)

এটি ফাইল বর্ণনাকারীতে একটি বিরতি পাঠায়। যখন সময়কাল শূন্য হয়, তখন এটি 0.25-0.5 সেকেন্ডের জন্য বিরতি পাঠায়।

পদ্ধতি termios.tcdrain(fd)

এই পদ্ধতিটি ফাইল বর্ণনাকারীতে সমস্ত আউটপুট লেখা পর্যন্ত অপেক্ষা করতে ব্যবহৃত হয়।

পদ্ধতি termios.tcflush(fd, সারি)

এই পদ্ধতি ব্যবহার করা হয় fd-এ সারির ডেটা বাতিল করে। সারি নির্বাচক আছে কোন সারিতে, এটি সঞ্চালিত হবে তা নির্দিষ্ট করতে। TCIFLUSH ইনপুট সারি এবং TCOFLUSH এর জন্য ব্যবহৃত হয় আউটপুট সারির জন্য। এবং TCIOFLUSH তাদের উভয়ের জন্য।

উদাহরণ কোড

import termios, sys
def get_password(prompt= "Enter Password: "):
   file_desc = sys.stdin.fileno()
   old_pass = termios.tcgetattr(file_desc)
   new_pass = termios.tcgetattr(file_desc)
   new_pass[3] & = ~termios.ECHO
   try:
      termios.tcsetattr(file_desc, termios.TCSADRAIN, new_pass)
      password = input(prompt)
   finally:
      termios.tcsetattr(file_desc, termios.TCSADRAIN, old_pass)
   return password

আউটপুট

$ python3 example.py
Enter Password:
Entered Password: my_password

  1. পাইথনে পাইল্যাবের সাথে দূরবর্তীভাবে একটি চিত্র কীভাবে সংরক্ষণ করবেন?

  2. পাইথনে POST পদ্ধতি ব্যবহার করে তথ্য পাস করা

  3. পাইথনে GET পদ্ধতি ব্যবহার করে তথ্য পাস করা

  4. পাইথনে CX_Freeze ব্যবহার করা