首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Plotext和诅咒-窗口

Plotext和诅咒-窗口
EN

Stack Overflow用户
提问于 2022-03-12 13:30:33
回答 1查看 318关注 0票数 1

需要帮助处理此代码:

代码语言:javascript
运行
复制
import plotext as plt
from contextlib import redirect_stdout
import io
import curses
import locale
locale.setlocale(locale.LC_ALL, '')
code = locale.getpreferredencoding()

PlotFile = io.StringIO()

with redirect_stdout(PlotFile):
    y = plt.sin() # sinusoidal signal 
    plt.scatter(y, marker='dot', )
    plt.title("Scatter Plot")
    plt.plot_size(10, 10)
    plt.show()
PlotFile.seek(0)
w = PlotFile.readlines()
allchar = []
vischar = []
dechar = []
bychar = []
def main (stdscr):
    curses.start_color()
    curses.use_default_colors()
    k = 0
    for i in w:
        for c in i:
            if ord(c) not in allchar:
                allchar.append(ord(c))
                vischar.append(c)
                dechar.append(c.encode('utf-8'))
                bychar.append(bytes(dechar[-1]))
            stdscr.addstr(chr(ord(c)).encode('utf-8'))
        print(i)
        k += 1
   stdscr.refresh()
   curses.napms(3000)

curses.wrapper(main)


print(allchar)
print(vischar)
print(dechar)
print(bychar)

在Windowspython3.9和wincurses上使用VScode。在普通终端机上工作良好,在咒骂中显示奇数字符,如[m,[107 m]等。尝试了编码和uft的混乱,仍然无法解决如何处理这个问题。正如我已经指出的,默认情况下使用uft-8进行诅咒,而python字符串是以utf-16编码的,因此必须进行转换。当尝试从allchar列表逐个打印每个字符时,显示的所有字符。但我注意到,有[字符打印在诅咒,这不是在原始的背景文字输出。我认为在中间的某个地方是unicode问题,但仍然找不到。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-10-31 17:34:30

这个示例不运行在我的机器上,但我可以告诉您,plotext在彩色绘图的ansi代码中输出[。例如,下面是红色的字符串"plotext"

代码语言:javascript
运行
复制
'\x1b[38;5;1mplotext\x1b[0m'

如果不需要,请尝试使用clear_color()方法删除颜色,从而删除不需要的ansi代码。祝好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71450124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档