مثال 56 پایتون – برنامه ای به پایتون بنویسید که ارتفاع و عرض پنجره کنسول را بدست آورد؟
کد برنامه
1 2 3 4 5 6 7 |
def get_terminal_size(): import fcntl, termios, struct terminal_height, terminal_width, _, _ = struct.unpack('HHHH', fcntl.ioctl(0, termios.TIOCGWINSZ, struct.pack('HHHH', 0, 0, 0, 0))) return terminal_width, terminal_height print('تعداد ستونها و ردیفها: ', get_terminal_size()) |
خروجی نمونه
1 |
تعداد ستونها و ردیفها: (100, 16) |
توضیح کد
این کد یک تابع به نام get_terminal_size
ایجاد میکند که اندازه ترمینال کاربر را به ارتفاع و عرض (تعداد ستونها و ردیفها) برمیگرداند و سپس این اندازهها را چاپ میکند.
در اینجا توضیحات بیشتری در مورد کد اصلی آورده شده است:
import fcntl, termios, struct
: این خطوط کتابخانههای مورد نیاز برای دسترسی به اطلاعات ترمینال (مانند ارتفاع و عرض) را وارد میکنند.terminal_height
وterminal_width
: این متغیرها به ترتیب ارتفاع و عرض ترمینال را نگهداری میکنند.struct.unpack('HHHH', fcntl.ioctl(0, termios.TIOCGWINSZ, struct.pack('HHHH', 0, 0, 0, 0)))
: این خط کد تابع واکشی اطلاعات ارتفاع و عرض ترمینال را از ترمینال کاربر استخراج میکند.return terminal_width, terminal_height
: تابع اندازه ترمینال (عرض و ارتفاع) را به عنوان یک تاپل برمیگرداند.print('تعداد ستونها و ردیفها: ', get_terminal_size())
: این خط چاپ اندازه ترمینال (تعداد ستونها و ردیفها) را در خروجی نمایش میدهد.
در کل، این کد به شما امکان دسترسی به اندازه ترمینال کاربر را میدهد تا بتوانید طراحی بهتری برای برنامههای خود در محیط ترمینال انجام دهید.
مقداد علی بخشی هستم. موسیقی دان، برنامه نویس، متخصص هوش مصنوعی، علم داده، متخصص بلاکچین و توسعه دهنده ربات های هوشمند.
دانش آموخته مقطع ارشد و دکتری دانشکده فنی دانشگاه تهران هستم. با سابقه تدریس درس برنامه نویسی در دانشگاه (پردیس بین الملل کیش دانشگاه تهران)