Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python打印文本:用指示符突出显示或标记字符串中的某些文本_Python_Pretty Print - Fatal编程技术网

Python打印文本:用指示符突出显示或标记字符串中的某些文本

Python打印文本:用指示符突出显示或标记字符串中的某些文本,python,pretty-print,Python,Pretty Print,我想打印一个字符串缓冲区或字节数组,其中可能包含一些特殊字符,如\t和\n,除此之外,我还需要在行下方打印一些指示符,以指示字符串的某些特殊部分,如下所示: a b c d \t , e f g \n ~~~~~~~~ ^^^^^ 以下是问题: 1,转义字符和普通字符应该以固定宽度打印,但我看到repr函数不能 2、应打印第一行下方的某些指示器 3,如果我们仍然使用repr函数,那么我认为第二行中的标记应该动态计算,因为repr不以固定宽度格式打印文本,因此a\t需要两个字符 有人能

我想打印一个字符串缓冲区或字节数组,其中可能包含一些特殊字符,如\t和\n,除此之外,我还需要在行下方打印一些指示符,以指示字符串的某些特殊部分,如下所示:

a b c d \t , e f g \n 
  ~~~~~~~~   ^^^^^
以下是问题:

1,转义字符和普通字符应该以固定宽度打印,但我看到repr函数不能

2、应打印第一行下方的某些指示器

3,如果我们仍然使用repr函数,那么我认为第二行中的标记应该动态计算,因为repr不以固定宽度格式打印文本,因此a\t需要两个字符

有人能帮忙吗

顺便说一句:整个想法是,我想为GDB创建一个python漂亮的打印机,以便在调试解析算法时显示令牌

编辑: 以下是一个例子:

print (repr("abcd\t,efg\n"))
当你运行代码时,你会得到一个打印的字符串,它有12个元素,而不是10,对于我来说,ff我想提高标记efg,它是字符串中的索引6,7,8,如果我在索引6,7,8的第二个位置画一个标记,我会得到以下结果

abcd\t,efg\n
      ~~~
因为\t有两个字符而不是一个,这意味着函数repr不打印固定的witdh字符,在这种情况下,我想看到:

abcd\t,efg\n
       ~~~

此链接可能会帮助您:因此\t需要两个字符。-另一种选择是文字选项卡,它可以使用2、4或8个空格中的任意一个,具体取决于显示它的用户。你会让雷普做什么?嗨,凯文,我已经为我的问题做了个例子