我试图通过在Linux中进行系统调用来获得终端大小。我正在Python 2.7中运行以下代码:
def get_terminal_size(subprocess=False):
import os
if subprocess:
rows, cols = [ int(x) for x in
os.popen("stty size").readline().strip().split()]
else:
import termios, fcntl, struct, sys
s = struct.pack("HHHH", 0, 0, 0, 0)
x = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, s)
rows, cols, x_pixels, y_pixels = struct.unpack("HHHH", x)
return cols, rows
这段代码给我这个错误:
ImportError:没有名为termios的模块
fcntl一样
我检查了这些模块是否在Python 2.7中存在。请不要建议我转向Python3。我了解我可以在Python 3中轻松使用内置的get_terminal_size()方法,但是我想故意在Python 2.7中使用它。我不明白为什么它失败了。谁能帮帮我吗?
如此处所示, Termios是标准Python库的一部分,因此无需安装它。您的Python脚本中的
简单import termios
脚本应该可以工作。
如果这导致您出错,那么我认为您的Python安装无法正常工作,我的建议是重新安装Python(或使用虚拟环境)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句