Печать штрихов по всей ширине экрана
Я хочу напечатать тире "-"
до конца экрана пользователя.
По сути, моя программа будет печатать строку текста, затем строку черточек под ней и еще одну строку текста. Это будет сделано для того, чтобы пользователь мог легко различить первую и вторую строки.
Что-то вроде этого:
First line of text
--------------------------------------------------------------------------------------
Second line of text
Есть ли способ сделать это, используя стандартные библиотеки Python 2.6. Я не могу использовать какие-либо дополнительные библиотеки, такие как texttable
или более новая версия Python.
1 ответ
2,6? Хорошо, это довольно старый. Это должно работать: (взято из Как получить ширину окна консоли Linux в Python)
def getTerminalSize():
import os
env = os.environ
def ioctl_GWINSZ(fd):
try:
import fcntl, termios, struct, os
cr = struct.unpack('hh', fcntl.ioctl(fd, termios.TIOCGWINSZ,
'1234'))
except:
return
return cr
cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2)
if not cr:
try:
fd = os.open(os.ctermid(), os.O_RDONLY)
cr = ioctl_GWINSZ(fd)
os.close(fd)
except:
pass
if not cr:
cr = (env.get('LINES', 25), env.get('COLUMNS', 80))
### Use get(key[, default]) instead of a try/catch
#try:
# cr = (env['LINES'], env['COLUMNS'])
#except:
# cr = (25, 80)
return int(cr[1]), int(cr[0])
(width, height) = getTerminalSize()
print "-" * width