gpt4 book ai didi

python - 语法错误 ncurses + python3

转载 作者:太空宇宙 更新时间:2023-11-04 05:57:28 25 4
gpt4 key购买 nike

我一直在尝试使用 Ncurses 在 Python 3 中编写我的第一个程序,但我一直在试图找出这个语法错误。我正在尝试构建 ncurses 菜单顶部栏菜单,但出现以下错误;

s.refresh()  c = s.getch()  
^
SyntaxError: invalid syntax

我一直在尝试从这里学习 http://www.ibm.com/developerworks/library/l-python6/#h3但我不明白为什么会出现语法错误。当我测试它时,Python 3.4.0Python 2.7.6 都会发生这种情况。当我去测试它时,菜单也没有呈现。我什么也没显示。我只是想制作一个具有非常基本功能的简单程序,没有什么特别的。

当我尝试将它添加到我自己的 python 脚本时,问题是这段 ncurses 代码

def file_func():
s = curses.newwin(5,10,2,1)
s.box()
s.addstr(1,2, "I", hotkey_attr)
s.addstr(1,3, "nput", menu_attr)
s.addstr(2,2, "O", hotkey_attr)
s.addstr(2,3, "utput", menu_attr)
s.addstr(3,2, "T", hotkey_attr)
s.addstr(3,3, "ype", menu_attr)
s.addstr(1,2, "", hotkey_attr)
s.refresh() c = s.getch()
if c in (ord('I'), ord('i'), curses.KEY_ENTER, 10):
curses.echo()
s.erase()
screen.addstr(5,33, " "*43, curses.A_UNDERLINE)
cfg_dict['source'] = screen.getstr(5,33)
curses.noecho()
else:
curses.beep()
s.erase()
return CONTINUE

这是在尝试添加菜单之前当前输出的样子,在我在 s.refresh() c = s.getch() 行的上述代码示例中遇到语法错误之前。

preview example of output before trying to add menu这是第一次在 Python3 和 Ncurses 中尝试这样的事情,我想试一试,看看我能做些什么来制作一个简单的函数式程序。另外我不太确定如何使用 Ncurses 自定义输出,我确实想更改颜色并将背景填充到它创建的盒装窗口中,但不太确定,我读过的教程没有不要太清楚如何将其实现到 Python 中。不太确定我是否可以将它们全部捆绑到一个脚本中,这是实现此目的的主要想法。

最佳答案

问题出在这一行:

s.refresh()  c = s.getch() 

您不能像现在这样将赋值语句与函数调用放在同一行。您需要使用分号来分隔各行:

s.refresh(); c = s.getch()
# ^

但是请注意,许多 Python 程序员发现分号的使用不够优雅。最好只使用两行:

s.refresh()
c = s.getch()

关于python - 语法错误 ncurses + python3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26912801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com