如何解决inchstrcurses-function是否可以在python中工作?
我现在要使用 instr()在终端的一行中检索多个字符串,但这仅在该确切位置提取字符串。真正应该执行此操作的函数是 inchstr(),但似乎在python中不起作用还是对?
解决方法
不。 Python的curses绑定不会扩展底层的curses库(很多)。 python可能会使用多个相关的curses函数,具体取决于您所查看的内容,但是没有一个函数会读取一行以上的文字:
-
int instr(
char*str);
-
int inwstr(
wchar_t*wstr);
-
int inchstr(
chtype*chstr);
-
int in_wchstr(
cchar_t*wchstr);
第一个(instr
)和第三个(inchstr
)都从屏幕上读取,但是后者返回属性(颜色,下划线等)以及文本
Python的instr
似乎使用前者,因为其文档说明了
返回一个字符的字节对象,该对象从窗口中提取,从当前光标位置开始,或者从 y , x (如果指定)开始。 从字符中剥离。如果指定了 n ,则
instr()
最多返回一个字符串 n 个字符长(不包括结尾的NUL
)。
第二个(inwstr
)和第四个(in_wchstr
)通过允许直接读取宽字符而不同于其他两个。 python实际上应该提供使用set(窄或宽字符接口)的方法,因为ncurses的宽字符接口更适合返回Unicode字符串,但是无论哪种情况,它都使用窄接口,返回字节数组(并要求使用应用程序以弄清楚如何将数据转换为字符串)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。