- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试学习 Windows XP 上的 Python 诅咒。我可以让 window.getkey 命令正常工作,但命令 window.getstr 不仅失败而且程序退出。以下是示例代码行:
x = window.getkey() # this works
y = window.getstr() # this fails
显然,为了让第一行工作,我已经正确导入了curses并执行了stdscr =curses.initscr()
命令。我的窗口已定义并且可以工作。我尝试将窗口坐标放置在 getstr 括号内,并且使用了 window.move。两者都不起作用。
知道为什么 getstr 不起作用吗?
以下是第一个建议之后的更多信息:
首先,在命令提示符窗口而不是从桌面运行程序的建议是一个很好的建议,因为窗口确实消失了。
以下是整个程序:
# program = testcurses
import curses
stdscr = curses.initscr()
window = stdscr.subwin(23,79,0,0)
window.box()
window.refresh()
window.addstr(2,10, "This is my line of text")
window.addstr(4,20,"What happened? ")
window.refresh()
mykey = window.getkey(5,20)
mystr = window.getstr (6,20)
#window.addstr (7,1, "Key data should be here: ")
#window.addstr (7,33, mykey)
window.addstr (8,1, "Str data should be here: ")
window.addstr (8,33,mystr)
window.refresh()
我注释了与关键数据显示相关的行,因为它工作正常。
这是回溯消息的相关部分:
window.addstr(8,33,mystr)类型错误:必须是 str,而不是 bytes。
汤姆
最佳答案
回溯告诉您,变量 mystr
是一个字节对象而不是字符串。这意味着您必须先对其进行解码,然后才能将其用作字符串,这是 addstr()
所需要的。
这是您需要进行的更改:
mystr = window.getstr(6,20).decode(encoding="utf-8")
这只是一个 Python 3 问题!我也使用 Python 2.7 对此进行了测试,无需进行此更改即可工作。该问题的出现是由于 Python 2 和 3 之间的字节/字符串处理不同。我假设您在自己使用 py3 时遵循了 py2 教程。
关于python - 诅咒 window.getstr(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21505871/
所以我有一个用 ncurses 制作的基本“贪吃蛇”游戏。 添加时 start_color(); init_color(COLOR_BLUE, 0, 0, 0); init_pair(
我想处理来自 stdin 的管道/终端,但同时,我希望我的其他操作继续处理,例如 上/下菜单 . fgets完成处理管道和屏幕渲染,但是,wgetch变得没有反应,所以我不能在开关内做任何事情。要关闭
我想在不清除屏幕的情况下在 Python 下使用 Curses。原因是我希望我的应用程序在现有屏幕上弹出一个简单的小菜单并很快退出。在退出时将弹出菜单的丑陋部分留在屏幕上是可以接受的,尽管不是首选。这
我已经开始用Python语言编写控制台了。太神奇了。但是,我尝试使用 curses 创建输入框,如下所示。我一直坚持如何放置输入行并在控制台的输入位置上写入输入。这部分你能帮我吗?我忘了问_是否可以使
我正在尝试创建这个程序,我在 stdscr 上并排打印两个窗口。我创建了“菜单”类来在一个地方声明整个屏幕的所有内容,我在 main 中创建了一个“菜单”对象(“menu_principal”),但没
大家好,我正在 Unix 中用 C 语言做作业,任务是制作一个简单的乒乓球游戏。我现在已经开始玩游戏了,除了有一个烦人的部分, Racket 正后方不断有一个闪烁的光标。我该如何关闭它? 这是截图。
我正在尝试创建一个交互式命令行程序,似乎 Mono-Curses是我需要的。但我对如何使用它感到非常困惑。我有一些问题。我真正需要什么来创建我的项目?我需要单声道还是可以使用 .net 框架?为什么那
我正在尝试学习 Windows XP 上的 Python 诅咒。我可以让 window.getkey 命令正常工作,但命令 window.getstr 不仅失败而且程序退出。以下是示例代码行: x =
#include #include #include #include #include "color.h" #include using namespace std; using name
我正在编写一个关于 pythoncurses 的程序,我想知道是否有一种方法可以阻止终端大小调整,以防止curses 在 Linux 和 Windows 上崩溃。这就是发生的事情..我可以阻止这种情况
我正在编写一个 python curses 游戏 ( https://github.com/pankshok/xoinvader )。我发现了一个问题:在终端模拟器中它工作正常,但在 tty 屏幕闪烁
当我将某些表情符号(特别是标志)输出到 Curses 的子窗口中时,它会使输出变形,即使是在该子窗口之外的输出也是如此。 运行: import curses def draw_screen(stdsc
快速退出带有使用curses模块的无限循环的Python程序的最佳方法是什么? 我尝试在循环末尾添加 nodelay() 方法: if screen.getch() == ord('q'):
我在 ncurses 中有一个菜单系统。选择其中一个选项会将您带到另一个菜单。但我该如何返回? import curses def Main(): x = 0 while x!= ord(
这段代码运行了 100 万次迭代(在我的机器上大约几秒钟),但是当我按住一个按钮时,我按住的 # 迭代并没有显着增加。 import curses stdscr = curses.initscr()
我在 Python 中编写了一个比一次性使用多一点的监控脚本,它使用 ncurses 和颜色来显示一些经常更新但几乎没有人感兴趣的值。为了提醒我注意重大变化,我进行了一些设置,以便当这些值进入有趣的领
我正在使用 ncurses 并使用 getstr() 获取输入字符串。我想通过 Tab 击键进行类似自动完成的操作。但是,我看不到使用 getstr() 捕获 Tab 的方法。我试过这个: char
Windows 是否有等同于 PHP 的 ncurses? 我已经创建了一个 CLI 脚本,并希望以一种很好的方式显示各种统计信息(当前处理的记录、完成百分比等),而不是将负载和文本堆输出到 cmd.
我很难尝试获得带有 ruby 和诅咒的纯白色(背景)和黑色(前景)文本。 用这段代码 Curses.init_pair(1,COLOR_BLACK,COLOR_WHITE) Curses.attron
我正在尝试 Curses.getchr,但是没有捕获像 Ctrl+s 这样的键,是否有任何库可以让我捕获它们,最重要的是直观/可读性好 FooBar.bind('Ctrl+s'){ raise "do
我是一名优秀的程序员,十分优秀!