小编Tom*_*ony的帖子

诅咒 - 某些表情符号(标志)使终端输出变形

当我将某些表情符号(特别是标志)输出到 Curses 的子窗口中时,它会使输出变形,即使是在该子窗口之外的输出也是如此。

跑步:


import curses

def draw_screen(stdscr):

    event = 0
    stdscr.clear()
    stdscr.refresh()

    while (event != ord('q')):

        emojis = ["", "", ""]
        # emojis = ["", "", ""]

        for i, emoji in enumerate(emojis):
            box1 = stdscr.subwin(11, 11, 0, i*12)
            box1.box()
            box1.addstr(0, 4, emoji)

        event = stdscr.getch()

if __name__ == "__main__":
    curses.wrapper(draw_screen)
Run Code Online (Sandbox Code Playgroud)

产生:

在此处输入图片说明

如果你只为心切换表情符号,它工作正常:

在此处输入图片说明

我知道国旗表情符号是一系列区域指示符,但我认为这应该可行,但我不确定如何修复它。

我已经在 Mac OS 10.13 和 10.14 上的 iTerm 和终端中对此进行了测试。

(我还注意到其他一些多点表情符号(?)在原始 Python 中打印得很好,但在诅咒中被分成两个单独的表情符号来组成它们。我不确定这是否相关。)

unicode curses ncurses python-curses

5
推荐指数
1
解决办法
1066
查看次数

在 Swift 线程中限制 CPU 使用率

我想遍历 macOS 应用程序中潜在大目录的文件树。如果我只是这样做,我的示例案例大约需要 3 分钟,但 CPU 在这 3 分钟内飙升至 80% 左右。

我可以在后台线程上做得更慢,但我不确定最好的方法是什么。

我想只在循环中插入 1 毫秒睡眠,但我不确定这不会对调度/磁盘 IO 等产生负面影响。另一种方法是做 1 秒的工作,然后等待 2-3 秒,但我猜还有更优雅的东西吗?

我想要的核心功能是以嵌套方式遍历目录检查文件属性:

let enumerator = FileManager.default.enumerator(atPath: filePath)
while let element = enumerator?.nextObject() as? String {
     // do something here
 }
Run Code Online (Sandbox Code Playgroud)

macos swift

3
推荐指数
1
解决办法
60
查看次数

标签 统计

curses ×1

macos ×1

ncurses ×1

python-curses ×1

swift ×1

unicode ×1