通过刷新标准输出从终端清除最后转储的文本
clearing last dumped text from terminal by flushing stdout
嗨,我有点忘了过去,我记得已经完成了清除终端中最后打印的文本的工作,但我现在的工作方式似乎不起作用
def main():
print 'starting...'
baseURL = 'https://api.thingspeak.com/update?api_key=%s' % myAPI
print baseURL
while True:
try:
RHW, TW, TWF = getSensorData()
# LT = RCtime(RCpin)
f = urllib2.urlopen(baseURL +
"&field1=%s&field2=%s&field3=%s" % (TW, TWF, RHW))
sys.stdout.flush()
sys.stdout.write("Celcius: %s , Farenheit: %s , Humidity: %s "% (TW, TWF, RHW))
f.close()
sleep(int(myDelay))
except:
print 'exiting.'
break
任何人都可以通过一些光线吗?
如果你真的想清除屏幕你应该使用 curses 或 ncurses
但是有些技巧是
\b
退格字符...允许您覆盖最后一个字符
\r
carriage return without newline ...这会将光标移动到大多数终端中当前行的开头(允许您 "overwrite"当前行) ...
还有一些疯狂的十六进制转义码,它们非常特定于终端
os.system('cls')
或 os.system('clear')
将根据您的操作系统进行排序
如果你只想flush
当前的stdout
那就是sys.stdout.flush()
嗨,我有点忘了过去,我记得已经完成了清除终端中最后打印的文本的工作,但我现在的工作方式似乎不起作用
def main():
print 'starting...'
baseURL = 'https://api.thingspeak.com/update?api_key=%s' % myAPI
print baseURL
while True:
try:
RHW, TW, TWF = getSensorData()
# LT = RCtime(RCpin)
f = urllib2.urlopen(baseURL +
"&field1=%s&field2=%s&field3=%s" % (TW, TWF, RHW))
sys.stdout.flush()
sys.stdout.write("Celcius: %s , Farenheit: %s , Humidity: %s "% (TW, TWF, RHW))
f.close()
sleep(int(myDelay))
except:
print 'exiting.'
break
任何人都可以通过一些光线吗?
如果你真的想清除屏幕你应该使用 curses 或 ncurses
但是有些技巧是
\b
退格字符...允许您覆盖最后一个字符\r
carriage return without newline ...这会将光标移动到大多数终端中当前行的开头(允许您 "overwrite"当前行) ...还有一些疯狂的十六进制转义码,它们非常特定于终端
os.system('cls')
或 os.system('clear')
将根据您的操作系统进行排序
如果你只想flush
当前的stdout
那就是sys.stdout.flush()