教你在windows上用Python获得控制台大小(宽高)

 时间:2024-10-12 15:46:08

1、在Python3.3开始的版本,我们要获得控制台宽高,就会很简单了。python3.3开始,os模块提供了一个get_terminal_size方法来获得控制台的大小。开始之前,我们需要知道,我们怎么看控制台的窗口大小。打开cmd窗口,右键标题部分,属性。在布局属性内看到控制台的窗口大小。如图

教你在windows上用Python获得控制台大小(宽高)
教你在windows上用Python获得控制台大小(宽高)

2、导入os模块,调用我们的get_terminal_size方法。import oswidth = os.get_terminal_size().co造婷用痃lumns#columns列表成员是存储着窗口有多少列,可以理解为我们的宽。height = os.get_terminal_size().lines#lines成员存储着窗口有多少行,可以理解为我们的高print("控制台宽度%d 控制台高度%d" %(width,lines))

教你在windows上用Python获得控制台大小(宽高)

3、但是注意一点是,不要在Python的IDLE中调用get_terminal_size方法,小伙伴肯定想到了,这是针对控制台,IDLE只是一个窗口,不是控制台,调用会出错的哦。

教你在windows上用Python获得控制台大小(宽高)

4、以上方法是针对python3.3开始以及以后的版本,在3.3之前,我们只能通过第三方模块,或者windowsAPI来获得。小编电脑上有安装Python2,在Python2中就相当麻烦了。详细代码如下:#-*- coding:utf-8 -*-from ctypes import windll, create_string_bufferwin_stdout = -11fd = windll.kernel32.GetStdHandle(win_stdout)#获得标准输出的句柄cstruct = create_string_buffer(22)rc_struct = windll.kernel32.GetConsoleScreenBufferInfo(fd, cstruct)#获得控制台的属性if rc_struct:import struct(bufx, bufy, curx, cury, wattr,left, top, right, bottom, maxx, maxy) = struct.unpack("hhhhHhhhhhh", cstruct)sizex = right - left + 1sizey = bottom - top + 1#计算控制台宽高#python2 编码处理,转换成gb2312mystr = ("宽度 = %d,高度 = %d" %(sizex,sizey)).decode('utf-8').encode('gb2312')print(mystr)

教你在windows上用Python获得控制台大小(宽高)

5、在python2.7内运行结果如下,可以看到也能获得控制台的宽高,不过从上面的代码就可以看出,相当麻烦。调用windows的API,当然,如果有第三方模块可以解决这个问题的话最好不过了。

教你在windows上用Python获得控制台大小(宽高)
  • win10系统cmd命令提示符中怎么查看进程信息
  • eclipse怎么打开svn的窗口
  • WIN7 Activation软件如何使用
  • 如何使用VLC捕获并推送桌面串流
  • 易语言如何安装支持库
  • 热门搜索
    理想的手抄报 中华文化手抄报 语文手抄报内容大全 创卫手抄报资料 勤俭节约手抄报大全 只要妈妈露笑脸手抄报 手抄报的格式 大学生手抄报 关于的手抄报图片 我的一本课外书手抄报