我一直在玩OSX终端(bash v.3.2.57,Yosmite)的ansi颜色。奇怪的ansi颜色bevahiour在终端
一旦我填满了一个终端窗口(如在它向下滚动时),我有背景色行为的问题。
背景颜色将填充右侧的空白区域,同时也“跳过”一条线(请参见图片)。它按照我的需要工作,直到输出使窗口滚动。如果我使用“清除”命令,输出将会很好,直到输出再次填满终端窗口。
下面的代码只是获取颜色的不同组合(我为此问题截断了一点)。
我有一个感觉终端是责怪,而不是蟒蛇,因为输出最初工作。谁能解释这种行为?干杯。
#coloured text in terminal
#ANSI escape sequences
std_txt = '\033[0m'
print('colour test' +'\n')
print(' X in 033[0;Xm')
for x in range(30,35):
print ''.join(["\033[0;",str(x), 'm']) + 'test' +'\t' + str(x)
print std_txt +'\n' + ('end')
print('colour test 2' +'\n')
print(' X in 033[0;30;Xm')
for x in range(40,45):
print ''.join(["\033[0;30;",str(x), 'm']) + 'test' +'\t' + str(x)
print std_txt +'\n' + ('end')
PS:我的意思是通过填充一个终端窗口或滚动什么。 如果你的终端窗口是80x24,填满它将使用24行,大于25会使它滚动。对不起,我发现很难在问题中解释这一点。
它看起来像你有一个'newline'问题。它出现在每行文本之后的换行/换行导致文本之后的行的其余部分在滚动后的下一行上打印。我不用python编写代码,除了建议寻找是否有方法来重新排列将新行传递给'print'的方式之外,我没有什么帮助。如果它应该是'end',那么''\ n''(不知道,只是从上面的代码中猜测)。 –
是的,我赞同滚动后的一些变化,这很奇怪。埃里克的建议是每次迭代重置它。 – der0keks