我正尝试在Python 2.7.2中使用ANSI转义序列为CLI程序创建一个“下拉菜单”。我使用ANSI转义序列将“选项”更改为红色,并在输入行下方显示它们,然后清除它们。ANSI转义序列在Cygwin中失败
我能够运行运行Python 2.6.5的Ubuntu 10.04LTS系统上的代码,但无法让程序在运行Cygwin minTTY 1.0.3的Windows XP机器上运行。在Windows或Cygwin中是否存在sys.stdout.flush()问题?它是一个Python 2.6到2.7的问题?不知道从哪里开始调试。
#!C:\Python27\python.exe
#!/usr/bin/python
import sys
table = {1:'foo', 2:'bar', 3:'foo'}
print '\n'
for item in table.keys() :
sys.stdout.write('\033[1;31m %s) %s\033[0m\n' % (item,table[item]))
sys.stdout.flush()
sys.stdout.write('%s' %((item+1)*'\033M'))
sys.stdout.flush()
answer = raw_input("Select foobar: ")
sys.stdout.write('\033[J')
sys.stdout.flush()
print 'You have selected %s' % (table[answer])
的问题是,原始输入文本不打印,直到您让您在minTTY(再次,代码工作正常,在Ubuntu),哪一种失败提示文本的目的,选择后。提前致谢 - 保罗