我正在用Python编写一个简单的警报实用程序。
#!/usr/bin/python
import time
import subprocess
import sys
alarm1 = int(raw_input("How many minutes (alarm1)? "))
while (1):
time.sleep(60*alarm1)
print "Alarm1"
sys.stdout.flush()
doit = raw_input("Continue (Y/N)?[Y]: ")
print "Input",doit
if doit == 'N' or doit=='n':
print "Exiting....."
break
我想刷新或放弃在脚本休眠时输入的所有按键,并且仅在执行raw_input()之后接受按键。
编辑:我在Windows XP上运行此。
这将有助于您了解所使用的操作系统,因为这是一个非常特定于操作系统的问题。例如,由于sys.stdin没有fileno属性,因此Kylar的答案在Windows上不起作用。
我很好奇,提出了一个使用curses的解决方案,但这在Windows上也不起作用:
#!/usr/bin/python
import time
import sys
import curses
def alarmloop(stdscr):
stdscr.addstr("How many seconds (alarm1)? ")
curses.echo()
alarm1 = int(stdscr.getstr())
while (1):
time.sleep(alarm1)
curses.flushinp()
stdscr.clear()
stdscr.addstr("Alarm1\n")
stdscr.addstr("Continue (Y/N)?[Y]:")
doit = stdscr.getch()
stdscr.addstr("\n")
stdscr.addstr("Input "+chr(doit)+"\n")
stdscr.refresh()
if doit == ord('N') or doit == ord('n'):
stdscr.addstr("Exiting.....\n")
break
curses.wrapper(alarmloop)
编辑:啊,Windows。然后,您可以使用msvcrt模块。请注意,下面的代码不是完美的,并且在IDLE中根本不起作用:
#!/usr/bin/python
import time
import subprocess
import sys
import msvcrt
alarm1 = int(raw_input("How many seconds (alarm1)? "))
while (1):
time.sleep(alarm1)
print "Alarm1"
sys.stdout.flush()
# Try to flush the buffer
while msvcrt.kbhit():
msvcrt.getch()
print "Continue (Y/N)?[Y]"
doit = msvcrt.getch()
print "Input",doit
if doit == 'N' or doit=='n':
print "Exiting....."
break
问题内容: Python的urllib2遵循3xx重定向以获取最终内容。有没有办法使urllib2(或其他一些库,例如httplib2)也遵循元刷新?还是我需要为刷新meta标签手动解析HTML? 问题答案: 好的,似乎没有库支持它,因此我一直在使用以下代码:
问题内容: 如何强制将Python的打印功能输出到屏幕? 这不是“ 禁用输出缓冲”的重复项-链接的问题正在尝试无缓冲输出,尽管这更通用。对于这个问题,最重要的答案太过强大或牵扯太多(对于这个问题,它们不是很好的答案),这个问题可以由相对新手在Google上找到。 问题答案: 在Python 3上,print可以采用可选参数 在Python 2上,你必须做 打电话后print。默认情况下,print
我一直在寻找如何弄清楚如何让一个输入或某些东西进入一个time循环。就像在,输入()命令不会停止我的秒表。我尝试过tkinter、pygame和其他几种方法,但它们都不起作用。如果有人能帮我,我更喜欢小而简单的东西,如果这是可能的话。具体来说,我想学习做什么,基本上是允许在按下任何键时立即停止(最好不按回车键)。谢谢,马鞍猪! 以下是我到目前为止的情况,没有任何东西可以激活停止:
问题内容: 我在这里阅读,但是如果xml文件更改,jtree不会重新加载/ refreshes 如何创建刷新/重新加载Jtree的函数, 我尝试编写代码: 但我收到错误:java.lang.NullPointerException 问题答案: 我添加了一个新的,以在。您可能需要从构造函数中重构出来;为了方便起见,我已经对其进行了硬编码:
当我单击一个按钮(刷新页面中的数据,释放缓存)主页时,我想刷新页面我的主页中有一个列表。有一个功能可以更改列表上的项目。但当我更改项目并重定向到主页时,它会显示以前的值,直到刷新页面为止,我只想在按下按钮时刷新(清除主页上的缓存)。控制器处于$状态。go(“应用程序订阅”) 我写了这个。如何更改它?
我正在使用php和javascript进行网络编程,这是我想问的一个一般性问题,通常在页面刷新时,文本区域或输入中的所有内容都会被删除; 是否有办法保留用户输入、键入的字符或复选框?不保存到会话中?还是我真的需要保存它?非常感谢。 (我不是说表单提交导致重新加载,但只是简单地键入文本区域,然后按下刷新按钮。)
问题内容: Python在函数的每次调用之间在控制台输出中插入一个空行,但我不希望这样做(即,我希望提示位于控制台中的连续行上,而不是由空行分隔)。有没有办法做到这一点?我试着以为它可能像函数一样工作,但事实并非如此… 码: 输出: 所需的输出: 编辑: 正如其他人在评论部分中指出的那样,除了在Spyder IDE中使用IPython接口之外,这个问题对我来说都是不可重现的。如果有人在Spyder
问题内容: 我正在使用swift构建RSS阅读器,并且需要实现pull来重新加载功能。 这是我试图做到的方式。 我正进入(状态 : super.init调用未初始化属性“ self.refresh” 请帮助我了解手势识别器的行为。一个有效的示例代码将有很大的帮助。 谢谢。 问题答案: 拉动刷新 是iOS内置的。你可以像这样迅速 在某些时候,您可能会刷新。