为什么我不能将 addstr() 添加到 pythoncurses 窗口中的最后一行/列?

2024-07-01

使用Python,我尝试使用addstr() 将光标位置写入curses 窗口的右下角,但出现错误。ScreenH-2工作正常,但打印在窗口底部的第二行。ScreenH-1根本不起作用。我究竟做错了什么?

import curses

ScreenH = 0
ScreenW = 0
CursorX = 1
CursorY = 1

def repaint(screen):   
   global ScreenH
   global ScreenW
   global CursorX
   global CursorY

   ScreenH, ScreenW = screen.getmaxyx()
   cloc = '   ' + str(CursorX) + ':' + str(CursorY) + ' '
   cloclen =  len (cloc)
   screen.addstr (ScreenH - 1, ScreenW - cloclen, cloc,  curses.color_pair(1));


def Main(screen):
   curses.init_pair (1, curses.COLOR_WHITE, curses.COLOR_BLUE)
   repaint (screen)   

   while True:
      ch = screen.getch()
      if ch == ord('q'):
         break

      repaint (screen)     


curses.wrapper(Main)

  File "test.py", line 17, in repaint
    screen.addstr (ScreenH - 1, ScreenW - cloclen, cloc,  curses.color_pair(1));
_curses.error: addstr() returned ERR

你也可以使用insstr代替addstr:

screen.insstr(ScreenH - 1, ScreenW - 1 - cloclen, cloc,  curses.color_pair(1))

这将阻止滚动,从而允许您打印到最后一行的最后一个字符

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我不能将 addstr() 添加到 pythoncurses 窗口中的最后一行/列? 的相关文章

  • py.test 日志控制

    我们最近切换到 py test 进行 python 测试 顺便说一句 这非常棒 但是 我试图弄清楚如何控制日志输出 即内置的 python 日志记录模块 我们安装了 pytest capturelog 并且它按预期工作 当我们想查看日志时
  • 如何在 Python 中执行等效的 Excel INDEX MATCH

    我有一个问题 关于如何执行相当于使用 Excel 中的 INDEX MATCH 函数返回值并在 Python 中应用它的操作 作为一名对大型数据集执行数据分析和操作的 Excel 用户 为了提高效率 我已转向 Python 我试图做的是根据
  • 如何使用判别函数绘制 3 个类别之间的决策边界

    我有 3 个判别函数 将 2D 空间划分为 3 个区域 我想绘制这些区域之间的决策边界 我不知道如何在 python 中使用 matplotlib meshgrid 来做到这一点 对于2个判别函数 过程很简单 我计算值为 0 的函数和等高线
  • Python 内存使用情况

    因此 我有一些代码接收一组文件 将其可以缝合在一起 然后绘制它们 我发布了大部分代码 试图使其更具可读性 如果需要 可以添加更多代码 for paths dirs files in os walk start path for d in d
  • 如何在pytorch中使用多个GPU?

    我使用此命令来使用 GPU device torch device cuda 0 if torch cuda is available else cpu 但是 我想使用两个 GPUjupyter 像这样 device torch devic
  • numpy 不规则跨步数组

    引用文档 http docs scipy org doc numpy reference arrays ndarray html internal memory layout of an ndarray关于内存中的 numpy 数组结构 N
  • 无法从 BigQuery 中的工作表查询表

    我正在尝试在 python 中使用 BigQuery 来查询通过工作表生成的表 from google cloud import bigquery Prepare connexion and query bigquery client bi
  • 为什么追加会覆盖列表?

    我正在尝试 hackerrank 的一些问题并遇到了这个问题https www hackerrank com challenges list com经理 问题 https www hackerrank com challenges list
  • 在窗口中定位画布 - Tkinter/python

    有没有办法将画布放置在窗口中并在其周围放置一个框架 我只找到了如何在画布内放置对象 您可以创建一个框架 然后将您的小部件放入其中 f tk Frame c1 tk Canvas f c2 tk Canvas f c1 pack side l
  • 使用 Fabric 检查路径是否存在

    我正在运行此代码来检查此目录是否存在于远程计算机上 但此代码正在检查本地计算机上的目录 如何验证远程计算机上的目录 rom fabric api import run sudo env import os env hosts remote
  • Python pandas 使用 read_hdf 和 HDFStore.select 从 HDF5 文件读取特定值

    所以我使用一个简单的数据集创建了 hdf5 文件 如下所示 gt gt gt pd read hdf STORAGE2 h5 table A B 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 使用这个脚本 import pan
  • Django 和原始 Python 之间的性能

    我想知道使用纯 python 文件制作网页和使用 Django 之间的性能差异是什么 我只是想知道两者之间是否有显着差异 谢谢 Django 是纯Python 因此每个类似语句或表达式的执行时间将是相同的 需要理解的是 在进行 Web 开发
  • Apache24-x86-VC9 与 mod_wsgi 说,“AH00419:master_main:创建子进程失败。正在退出。”并且不会启动

    我正在尝试在我的 Windows 版本的 Apache24 上安装 WSGI 功能 当我尝试启动该服务时 我在 error log 中收到以下内容 Wed Dec 23 10 24 33 404057 2015 ssl warn pid 2
  • 使用后禁用按钮

    最近我决定重写我的不和谐机器人并添加按钮 到目前为止我遇到的主要问题是我无法禁用按钮就在被按下之后人们被告知是关于button disabled True实际上 它会禁用该按钮 但它只是将其发送为禁用状态 因此永远无法按下它 我想要的是能够
  • 相当于 C++ 中用于缓冲读取的 python 生成器

    Guido Van Rossum 在此展示了 Python 的简单性article http neopythonic blogspot com 2008 10 sorting million 32 bit integers in 2mb h
  • XPath 错误:[contains(text()="something")]' 不是有效的 XPath 表达式

    在观看了关于 XPath 的非常基本的教程之后 我第一次使用 selenium 构建一个应用程序 该应用程序包含卡的奖金计算器 我写了这段代码 from selenium webdriver import Chrome from webdr
  • 用python划分两个数据框

    我有两个数据框 df1 and df2 df1 TIMESTAMP eq1 eq2 eq3 2016 05 10 13 20 00 40 30 10 2016 05 10 13 40 00 40 10 20 df2 TIMESTAMP eq
  • 使用 Python API 创建文件后如何立即从 Google Vault 导出下载文件?

    使用 Python API 我创建了一个导出 如何使用相同的授权服务下载导出中的 zip 文件 创建导出时 我可以看到 cloudStorageSink 的 bucketName 和 objectNames 但是我找不到任何有关如何使用创建
  • 通过串口从python向Arduino发送数据

    如果在串行端口上读取字符 s 我试图让 Arduino 触发继电器 该字符 s 是由 python 根据从屏幕读取的图像发送的 我的问题是arduino似乎无法从串行端口读取 因为它从不执行if条件 我的猜测是两者之间存在某种死锁 这就是为
  • 将函数应用于数据帧的每一行

    下面有什么更优雅的实现方式 我想应用一个函数 my function到数据帧 其中数据帧的每一行都包含函数的参数 然后我想将函数的输出写回数据帧行 results pd DataFrame for row in input panel it

随机推荐