Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python诅咒动态值+;用户输入_Python_Curses - Fatal编程技术网

python诅咒动态值+;用户输入

python诅咒动态值+;用户输入,python,curses,Python,Curses,我对python和诅咒有点陌生,所以有几个问题。我正在制作一个终端应用程序,它使用诅咒来生成ui。我正在尝试做一些类似于linux程序的东西,只是它从xml文件中获取数据。我有这个代码,我正在修改从以前的stackoverflow问题。为了简化事情,我在这里更新的动态值就是时间。我的两个问题如下: 我有x=screen.getch(7,2)来检查用户是否想退出。与top类似,如果用户可以键入“q”退出。但是,由于这个原因,时间值没有被更新。如何让用户输入以及值的动态更新。当我注释掉screen.

我对python和诅咒有点陌生,所以有几个问题。我正在制作一个终端应用程序,它使用诅咒来生成ui。我正在尝试做一些类似于linux程序的东西,只是它从xml文件中获取数据。我有这个代码,我正在修改从以前的stackoverflow问题。为了简化事情,我在这里更新的动态值就是时间。我的两个问题如下:

  • 我有
    x=screen.getch(7,2)
    来检查用户是否想退出。与top类似,如果用户可以键入“q”退出。但是,由于这个原因,时间值没有被更新。如何让用户输入以及值的动态更新。当我注释掉screen.getch时,值开始更新。我读到top正在使用C版的诅咒,所以这应该是可能的,只是需要正确方向的帮助
  • 我的第二个问题是关于刷新率。有没有一种方法可以使用cursesapi来控制它?我认为最简单的方法是使用
    time.sleep()
    命令,但我不确定这是否是正确的方法?理想情况下,我希望每60秒左右用新的xml数据更新一次 我确实在stackoverflow中看到了这一点,我认为问题是类似的,但代码让我有些不知所措。我还不太懂课程,也不懂逻辑。我在找一些简单的东西。我相信这家伙最终使用
    line=sys.stdin.read(1)
    来运行他的代码。当我用这个代替getch时,我一点运气都没有。关于x不能使用strip(),我遇到了一些错误


    根据一些评论,我在
    screen=curses.initscr()
    之后添加了
    screen.nodelay(True)
    ,并且能够让它正常工作

    你应该特别阅读这篇文章和方法。谢谢你的帮助。我以前看过教程,但没有太多的例子。只是对功能的描述。
    from os import system
    import curses
    import time
    
    x = 0
    
    while x != ord('q'):
        screen = curses.initscr()
        curses.curs_set(False) 
        screen.clear()
        screen.border(0)
        screen.addstr(1, 2, "BLAH BLAH ",
                  curses.A_REVERSE)
    
        ltime = time.asctime(time.localtime(time.time()))
    
        screen.addstr(3, 2,'BLAH1: ' + ltime)    
        screen.addstr(4, 2, "BLAH2")
    
        screen.refresh()
    
        x = screen.getch(7,2)
    
    
    curses.endwin()